Tab 키를 지능적으로 사용하여 사용 가능한 하위 명령 등을 완성하는 명령줄에서 Subversion을 사용하세요.
$ svn c<tab>
cat checkout cl co copy
changelist ci cleanup commit cp
반면에 Mercurial은 최소한 기본적으로 탭 완성 기능이 없는 것 같습니다.
$ hg c<tab>
[nothing happens]
Mercurial의 Bash 완성 기능을 사용할 수 있습니까? 작동하게 만드는 가장 쉬운 방법은 무엇입니까? 우분투 11.04를 사용하고 있습니다.
답변1
Mercurial은 자체 bash 완성 기능을 제공합니다. tarball의 contrib/bash_completion을 참조하세요. 최소한 openSUSE에서는 이 파일이 /etc/bash_completion.d/에 설치되므로 Mercurial의 bash 완성이 자동으로 작동합니다. Ubuntu의 Mercurial 패키지에 완성 스크립트가 설치되어 있는지 확인하고 싶을 수도 있습니다.
답변2
나는 소스 버전에서 Mercurial을 구축했고 완성 스크립트를 직접 설치해야 했습니다. 이를 수행하는 방법은 다음과 같습니다.
$ cd
$ wget http://selenic.com/hg/raw-file/25e4d2f35965/contrib/bash_completion -P opt/packages/mercurial
$ echo ". opt/packages/mercurial/bash_completion" >> .bashrc
$ . opt/packages/mercurial/bash_completion
완료가 켜져 있습니다.
답변3
Ubuntu 10.04에서는 기본적으로 작동합니다. 배쉬에서:
$ hg c
cat checkout clone commit copy
또는 zsh에서:
$ hg c
cat checkout ci clone co commit copy cp
어쩌면 패키지가 누락되었을 수도 있습니다(또는 버그가 발생했을 수도 있습니다).
내 시스템에서는 Mercurial 패키지가 완성 파일을 제공합니다.
$ dpkg -S /etc/bash_completion.d/mercurial
mercurial: /etc/bash_completion.d/mercurial