jj v0.39.0 릴리즈, 북마크 및 정렬 기능 개선!
jj v0.39.0 릴리즈를 통해 북마크 자동 이동(bookmark advance) 및 리비전 정렬(arrange) 기능이 개선됨
기존의 커뮤니티 별칭(alias)인 'jj tug'에서 영감을 받아 표준 기능으로 통합(Standardized)
'jj bookmark advance' 및 'jj arrange' 기능에 대한 긍정적인 커뮤니티 반응
레거시 인덱스 파일 지원 중단 및 설정 옵션 제거(Deprecated Options Removal) 등, 하위 호환성(Backward Compatibility) 관련 변경 사항 포함
북마크(Bookmark) 기능 개선 및 표준화
jj v0.39.0 릴리즈는 'jj bookmark advance' 기능을 통해 북마크를 자동으로 이동시키는 기능을 제공한다. 이는 기존 커뮤니티에서 사용되던 'jj tug' 별칭에서 영감을 받아 표준 기능으로 통합된 것이다. revsets.bookmark-advance-from 및 revsets.bookmark-advance-to 설정을 통해 사용자 정의가 가능하다. 댓글에서는 이러한 기능의 표준화에 대한 긍정적인 반응과 함께, 기존 별칭을 유지하겠다는 의견도 제시되었다.
리비전 정렬(Revision Arrangement) 기능 도입
새롭게 추가된 'jj arrange' 명령어를 통해 사용자는 TUI(Text-based User Interface) 환경에서 리비전을 재정렬하고 폐기할 수 있다. 이는 Git의 복잡한 리비전 관리 문제를 해결하는 데 기여할 것으로 예상된다. TUI 기반의 인터페이스(TUI-based Interface)를 통해 직관적인 리비전 관리가 가능해졌으며, 사용자 경험(User Experience)을 향상시킬 것으로 기대된다.
하위 호환성(Backward Compatibility) 관련 변경 사항
이번 릴리즈에서는 jj < 0.33에서 작성된 레거시 인덱스 파일에 대한 지원이 중단되었다. 또한, core.fsmonitor 및 core.watchman.register-snapshot-trigger와 같은 설정 옵션이 제거되었다. 'jj op undo' 명령어 역시 제거되었으며, 대신 'jj op revert' 또는 'jj undo/redo'를 사용하도록 변경되었다. 이러한 변경 사항은 기존 사용자의 적응을 필요로 하며, 새로운 버전으로의 마이그레이션을 위한 주의가 필요하다.
푸시 옵션(Push Option) 지원 및 템플릿 기능 강화
jj git push 명령어에 --option 플래그를 사용하여 푸시 옵션을 원격 서버에 전달할 수 있도록 지원한다. 또한, jj new 명령어는 -m 메시지가 제공되지 않을 경우 new_description 템플릿을 평가하여 초기 커밋 설명을 채운다. 템플릿 기능은 first(), last(), get(index), reverse(), skip(count), take(count) 메서드를 지원하도록 확장되어 더욱 유연한 리스트 조작을 가능하게 한다.