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 .
답변
답변
가장 구체적인 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 revsets
와 hg help revisions
.
답변
다른 사람들이 지적했듯이 log -l
.
출력이 제한되고 템플릿을 지원하지 않는 hg log -r .
사용과 달리 자세한 정보를 얻기 위해 사용 합니다 hg id
. 또한 약간의 같은 별칭을 만들 수 있습니다 here = log -r .
및 사용을 hg here
. 해시 만 사용하려면 hg log -r . --template '{node}\n'
.