핵심 요약
- 버전 관리 도구 Jujutsu(jj) 사용 중 실수로 'jj jj'처럼 명령어를 중복 입력할 때 에러가 나는 문제를 해결하는 팁이 공유되었습니다.
- 'jj util exec -- jj' 형태의 자체 alias를 등록해 아무리 많은 'jj'를 연타해도 정상 작동하도록 만들었습니다.
- 중첩 인자 파싱 에러를 옵션 종료 기호인 '--'로 해결해 깔끔하게 재귀 호출을 구현했습니다.
요약 Git을 대체하는 버전 관리 도구로 주목받고 있는 Jujutsu(jj)를 사용하다 보면 실수로 명령어 앞에 'jj'를 여러 번 타이핑하는 일이 발생하곤 합니다. 예를 들어 현재 작업 중인 변경 세트의 ID를 확인하려고 `jj jj show -T 'change_id.short()'`를 입력하면, jj는 인식할 수 없는 하위 명령(unrecognized subcommand 'jj')이라는 에러를 뱉습니다.
작성자는 Git에서 오타를 처리하던 유명한 팁 'git git git'처럼, jj 자체 설정의 alias 기능을 활용해 이 문제를 해결하는 과정을 소개했습니다. 쉘 alias 대신 jj 자체 alias와 `jj util exec` 명령어를 조합하면 뒤따라오는 인자들을 그대로 실행하도록 넘겨줄 수 있습니다.
처음에는 `jj = ["util", "exec", "jj"]`로 alias를 등록해 테스트했지만, `-T` 옵션이 실제 실행할 jj 명령어가 아닌 `jj util exec` 자체의 옵션으로 잘못 파싱되면서 또 다른 에러(`unexpected argument '-T'`)가 발생했습니다.
작성자는 쉘 및 exec 환경에서 흔히 쓰이는 옵션 종료 구분자 `--`를 활용해 이 문제를 해결했습니다. alias 설정을 `jj = ["util", "exec", "--", "jj"]`로 수정함으로써 이후에 오는 인자들이 추가 파싱 없이 그대로 전달되도록 만든 것입니다. 이를 통해 `jj jj`는 물론 `jj jj jj jj jj`처럼 jj를 몇 번을 연타해 입력하더라도 원래 의도했던 명령어가 정상 실행되도록 만드는 유쾌한 개발자 팁을 완성했습니다.
Sponsored · 광고