jj v0.41.0 출시 - Git 호환 버전 관리 시스템
(github.com/jj-vcs)jj fix가 특정 줄 범위 포매팅을 지원해 수정된 줄만 포매팅할 수 있으며,fix.tools.<name>.line-range-arg와run-tool-if-zero-line-ranges설정으로 동작을 제어함- 새 전역 플래그
--no-integrate-operation으로 저장소 상태나 작업 사본에 영향을 주지 않고 명령을 실행할 수 있어, 자동화 도구가 백그라운드에서 스냅샷을 만들 수 있는 상황에 유용함 file search --pattern의 기본값이glob:에서regex:로 바뀌는 호환성 변경이 있으며, 이제kind:pattern문법으로 여러 패턴 종류를 받을 수 있음jj git push --all,--tracked,-r REVSETS는 푸시 대상 리비전이 private이거나 충돌이 있어도 더 이상 실패하지 않고, 푸시할 수 없는 북마크는 건너뜀jj git clone에 전달한 브랜치·북마크 패턴은 이제.git/config가 아니라 jj 저장소 설정 파일에 저장되며, Git fetch refspec은 기본값으로 설정됨- 템플릿 언어에서
Operation.tags()는 폐기 예정이 되었고, 대신Operation.attributes()사용이 권장됨 - 새 설정
diff.git.show-path-prefix로diff --git출력의a/와b/경로 접두사를 숨길 수 있음 - 템플릿에
replace(pattern, content, replacement)함수와ByteString타입이 추가되어, 캡처 그룹이 있는 정규식 등 문자열 패턴 기반 치환과 파일 내용 같은 바이트 문자열 처리가 가능함 jj gerrit upload는--message/-m,--edit,--merged옵션을 지원하고,--hashtag를 반복해 여러 해시태그를 전달할 수 있음- 새
remotes.<name>.fetch-bookmarks와fetch-tags옵션으로 기본 fetch 대상을 설정할 수 있음 JJ_PAGER가ui.pager설정을 덮어쓸 수 있게 되어,JJ_EDITOR처럼 jj 전용 환경 변수 오버라이드가 가능함- 버그 수정으로
.gitignore처리의 Git 일관성이 개선되고, 대형 저장소에서 스냅샷 성능과jj status속도가 눈에 띄게 개선됐으며, 기존 Git 서브모듈 디렉터리가 체크아웃 충돌로 간주되지 않게 됨
댓글과 토론
Lobste.rs 의견들
- 규칙이 어떻게 되는 건지 궁금함. 어떤 프로젝트는 릴리스 링크를 올려도 되는 건가?
- modlog를 보면 본인 프로젝트들은 자기 홍보 때문에 일시적으로 막힌 것 같음
다른 사람의 릴리스를 올리는 건 괜찮지만, 자기 홍보 시스템을 남용하는 건 안 됨 - 규칙을 묻는 거라면 about page의 Self-promotion 항목을 보면 됨
작성자가 커뮤니티에 참여하는 건 좋지만, 제품 발표나 자기 작업으로 트래픽을 몰기 위한 쓰기 전용 도구로 이용해서는 안 됨
경험칙으로 자기 홍보는 본인의 글과 댓글 중 4분의 1 미만이어야 함
- modlog를 보면 본인 프로젝트들은 자기 홍보 때문에 일시적으로 막힌 것 같음
- 평소 대화에서는 jujutsu를 보통 어떻게 말하거나 발음하는지 궁금함
“J J”라고 하나, 아니면 “jujutsu”라고 하나?- “jj”라고 하고, “j”는 “gif”의 g처럼 발음함
- 스웨덴 사람이라 스웨덴식으로 읽어야 할지 영어식으로 읽어야 할지도 잘 모르겠음
주변에서는 JJ를 아는 사람이 없고, JJ도 Jujutsu도 이름으로는 썩 와닿지 않아서 늘 말할 때 어색하고 여러 발음을 섞어 쓰게 됨
그래도 JJ는 정말 좋아하고 이름은 신경 안 씀. 그냥 그런 이름인 것뿐임 - “data”와 “data”처럼 둘을 아무렇게나 번갈아 씀
- 내가 이야기하는 사람들 사이에서는 다들 “J J”라고 함
- 말할 때는 항상 jay jay라고 부름. 개인적으로는 “jujutsu”보다 더 나은 이름이라고 봄