[hash] 현재 Mercurial 개정 해시를 인쇄 하시겠습니까?

Mercurial에서 현재 개정 해시를 추출하는 것보다 더 좋은 방법이 있습니까?

hg log -l1|grep changeset|cut -d: -f3

?

내 webapp 배포 스크립트의 일부는 업로드 된 앱 tarball에 고유 한 수정 해시를 “태그”합니다.



답변

시험:

hg id -i

예:

$ hg id -i
adc56745e928


답변

hg --debug id -i

커밋되지 않은 변경 사항이 있으면 플러스가있는 긴 해시를 출력합니다.


답변

부모 명령과 함께 –template을 사용할 수 있습니다. 저는 이것을 사용하여 긴 해시를 얻습니다.

hg parent --template '{node}'


답변

답변과 답변을 요약하면 이것이 현재 버전 의 고유 한 (짧은 형식이 아닌) 식별자 를 인쇄하는 가장 좋은 방법 인 것 같습니다 .

hg log -l 1 --template '{node}\n' -r .


답변

hg log -l 1 --template '{node|short}\n'

참조 워드 프로세서 , 단락과 다음 “하는 주형의 기본”.


답변

가장 구체적인 non-DEPRECATED 명령 --template은 간결함이 필요한 경우에만 개정 정보를 인쇄 할 수 있습니다 (질문에서 암시 함) :

hg log -l 1 -b . -T '{rev}:{node|short}\n'

또는 고유 한 긴 형태의 해시 :

hg log -l 1 -r . -T '{node}\n'

-b .또는 branch(.)(지점 이름 점) 현재 작업 디렉토리 분기를 의미 하고 -r .있는 현재 작업 디렉토리 개정, 의미 문서화hg help revsetshg help revisions.

이 생길 경우 참고 커밋 병합.(점)만을 표시 첫째 부모 실무 그룹의 두 부모를.


답변

다른 사람들이 지적했듯이 log -l.

출력이 제한되고 템플릿을 지원하지 않는 hg log -r .사용과 달리 자세한 정보를 얻기 위해 사용 합니다 hg id. 또한 약간의 같은 별칭을 만들 수 있습니다 here = log -r .및 사용을 hg here. 해시 만 사용하려면 hg log -r . --template '{node}\n'.