2011-02-23 7 views
27

여러 명령을 호출하는 hgrc 파일에 Mercurial 명령 별칭을 정의하고 싶습니다. 예를 들어, 나는 다음과 같은 일을하고 싶습니다 :여러 명령을 실행하는 hg 명령 별칭을 만드는 방법은 무엇입니까?

[alias] 
giveup = revert --all --no-backup; purge 
syncprod = fetch production; push production 

이 날 hg syncprod를 호출하고 그것이 페치 후 푸시 호출하도록 허용합니다. 이 기능이 있는지 판단 할 수 없었습니다. (그게 더 의미 추측하지있어.)

답변

28

은 다음과 같이 쉘 별명 스타일을 사용

giveup = !$HG revert --all --no-backup ; $HG purge 

비록 개인적으로 난 그냥 사람들을위한 bash는 별칭을 만들 것입니다 그래서 전부 hg 부분을 건너 뛸 수 .

+3

Windows에서이 작업을 수행 할 수 있습니까? –

+1

cygwin에서 나는 똑같이 작동 할 것이라고 생각하지만 그렇지 않으면 아마도 giveup.bat (또는 cmd 또는 powershell이 ​​사용하는 모든 것)을 쓰는 것이 낫습니다. –

+3

별칭에서 powershell 또는 cmd를 호출 할 수 있습니다. 예 : powershell에서 다음 별칭을 사용합니다 : 'amend =! powershell -NoProfile -Command hg ci -m $ (cat .hg \ last-message.txt)' –

7

이전 답변에 대해서는 말씀 드릴 수 없지만 PowerShell 또는 cygwin을 사용하지 않고도 Windows에서이 작업을 수행하려는 다른 사용자를 위해 다음 구문이 저에게 효과적이었습니다.

giveup = !hg revert --all --no-backup && hg purge 

또한,이 버전에 관계없이 되돌리기 성공 여부의 제거를 실행하는 것은 :

giveup = !hg revert --all --no-backup & hg purge 

그것은 예를 들어, 더 함께 두 개의 명령보다 문자열 수 :

shebase = !hg shelve && hg rebase && hg unshelve 
관련 문제