v1.4.0
Git AI Commit v0.4.0 릴리즈 노트
새로운 기능
커밋 메시지 반복 생성 (r 키)
- AI 추천 후보가 마음에 안 들 때
r키로 새로운 후보 생성 - 횟수 제한 없이 원하는 만큼 시도 가능
캐시 시스템
- 선택한 커밋 메시지를 diff hash 기반으로 자동 저장
- 같은 diff로 다시 시도할 때 이전 메시지를 바로 재사용 가능
- 캐시 위치:
~/.git-ai-commit/cache.json
이전 메시지 사용 (p 키)
- 캐시된 메시지를
p키로 선택하여 재사용 - 반복적인 작업 패턴에서 시간 절약
버그 수정
치명적 버그: 대규모 커밋 Deadlock 해결
문제: 17개 이상 파일이 포함된 커밋에서 deadlock 발생
해결: Producer-Consumer 패턴을 정석적으로 구현
- 결과 수집 goroutine을 작업 전송 전에 먼저 시작
internal/worker/pool.go의ParseDiffParallel()함수 수정
기타 버그 수정
- detail 기본값: medium → low 수정
- high 디테일 레벨: 다중 줄 메시지 파싱 로직 개선
- 커밋 타입 분류: 의존성 파일이 있더라도 새 소스 파일이 많으면
feat로 분류 - Scope 추천: 과도한 파일 나열 문제 해결, 소스 파일이 있는 디렉토리만 집계
개선사항
사용자 경험
- 마음에 안 드는 후보를 계속 재생성 가능
- 좋은 메시지를 찾으면 다음에 바로 재사용
정확도 향상
- 커밋 타입 분류 정확도 개선 (새 기능 추가 시
build대신feat) - Scope 추천 품질 향상 (더 간결하고 정확한 scope)
기술적 세부사항
internal/cache/cache.go: 캐시 매니저, diff hash 기반 캐싱internal/ui/selector.go: 재추천 옵션, 이전 메시지 옵션, 커스텀 에러 타입cmd/root.go: 캐시 통합, 재추천 루프, 메시지 선택 로직internal/git/diff.go: diff hash 계산 함수, 커밋 타입/Scope 추론 개선internal/worker/pool.go: deadlock 해결