2010-11-24 5 views
10

Convert 확장을 사용하여 Subversion 저장소를 Mercurial로 변환했습니다. Tortoise HG로 새로운 저장소를 볼 때, 각 changeset에서 해당 소스 경로와 개정판을 볼 수 있습니다 (이미지 참조). Tortoise HG Screenshot with HG Changeset and SVN source path/revisionSVN to HG : HG changeset에서 SVN 개정 번호를 출력합니다.

콘솔에이 두 가지를 쓰는 방법이 있습니까? 이상적으로는이 같은 출력 싶습니다

hg:1147 svn:[email protected] 
hg:1146 svn:[email protected] 
... 

내가 출력을 사용자 정의 할 수있는 템플릿 옵션으로 hg log를 사용할 수 있다는 것을 알고,하지만 서브 버전 소스 경로/개정을 얻을하는 방법을 모르겠어요.

편집 : 내가 가고 싶지 않은 것처럼 보입니다. svn 소스 경로/개정판이 변경 세트 (감사 @ Ry4en) 내의 extras 필드에 있으며 hg loghg export도이 값을 출력하지 않습니다. 내가 지금하려고합니다하면 SVN 소스 경로/개정에 의욕 개정을 매핑하려면

hg log --template 'hg:{rev} nodeid:{node}' 

와 함께 파일 .hg/shamap을 사용하는 것입니다.

EDIT2 : 내 Mercurial 버전은 1.4.3입니다. 의욕으로 는이 명령을 사용할 수 있습니다 (빔 COENEN @ 덕분에) 가능 1.7.1 : 그것은 멀리 변경 집합에 extras라는 이름의 필드에 자리 잡고있어 hg log --template {node}\n{extras}\n\n

답변

3

, 나는 그것을 위해 로그 템플릿 항목이 믿지 않는다 . 그것은 hg export에서 grep 할 수 있고 프로그램을 통해 확실히 사용할 수 있지만 --template 방법이 있다고 생각하지 않습니다.

+7

예를 들어'extras'를 인쇄 할 수있는 것처럼 보입니다.'hg log --template {node} \ n {extras} \ n \ n'을 예로들 수 있습니다. –

+0

@Wim : 작성한 명령 (템플릿 문자열에 작은 따옴표 포함)을 입력하면 "누락 된 키워드가 없습니다"라는 메시지가 나타납니다. 방금 '엑스트라'대신 '추가'를 사용하면 로그 출력이 표시되지만 노드 ID와 추가 필드 값은 표시되지 않습니다. –

+0

@ Ry4en : 네 말이 맞아.'hg log'로 데이터를 얻을 방법이 없어요. 불행히도 나는'hg export' 출력물에서 엑스트라를 보지 못합니다. 하지만 로그 출력과 .hg/shamap의 항목을 연관 시켜서 필요한 조합을 얻을 수 있다고 생각합니다. –

9

새 버전의 hgsubversion은 {svnrev} 템플릿 키워드를 추가합니다. 이것은 hg help subversion에서 설명

[...] 머큐리얼 체인지 및 서브 개정 hgsubversion 세 템플릿 키워드 제공 관계를 폭로

검색 및 디스플레이 서브 버전

: 예 :

$ hg log --template='{rev}:{node|short} {author|user}\nsvn: {svnrev}\n' 

템플릿 키워드는 Mercurial 1.5 이상을 사용할 때 사용할 수 있습니다. 예를 들어

fromsvn Select changesets that originate from Subversion. Takes no 
      arguments. 
svnrev Select changesets that originate in a specific Subversion 
      revision. Takes a revision argument. 

: 1 의욕을 사용하는 경우

$ hg log -r 'fromsvn()' 
$ hg log -r 'svnrev(500)' 

Revsets 사용할 수있는 서브 버전에서 변경 집합을 찾는

는 hgsubversion는 에 revsets 제공하는 두 개의 새로운 선택기를 확장합니다.6 이상이고 수정을 지정하기위한 여러 Mercurial 명령에 의해 으로 받아 들여집니다. 자세한 내용은 "hg help revsets"를 참조하십시오.

+0

SVN 저장소의 전체 변환을'convert' 확장자와 함께했거나 처음부터 hgsubversion을 사용해야합니까? –

+1

그는 hgsubversion을 사용하지 않고 저장소를 변환합니다. –

+0

@Chris : 오, 미안, 모든 사람들이 최근에 hgsubversion을 사용했다고 가정 해 보았습니다 :-) –

관련 문제