2015-01-19 5 views
1

저는 새로운 수은 사용자이고 프로젝트에 특별한 필요를 가지고 있습니다.Mercurial - 특정 레브의 모든 파일을 나열하는 명령 줄

프로젝트 개정판의 모든 파일을 나열하고 각 파일에 대해 쉽게 되돌릴 수있는 버전이 있는지 알고 싶습니다.

예를 들어

: 사전에

rev 100 
-toto.c rev 3 
-toto.h rev 50 
-tata.c rev 100 

덕분에 누군가가 아이디어 :

+0

좀 더 자세하게 설명해 주시겠습니까? 파일 개정 버전을 얻으려고 할 때 정확히 무엇을 의미합니까? 마지막 버전이이 버전 이전에 변경되었음을 의미합니까? 저장소의 수명 기간 동안 변경된 시간? 또는 다른 것? – Nanhydrin

+0

안녕 Nanhydrin. 내 말은, 특정 rev (또는 최신 것)에 대해 프로젝트의 모든 파일과 각 파일에 대해 알고 싶습니다. 연관된 rev가 있습니다. 예를 들어 최신 버전이 rev 345 인 경우 다음과 같이 알고 싶습니다.이 rev에서는 toto.c가 rev345, tata.c가 300입니다. 하지만 rev300을 확인하면 toto 140으로부터의 .c 그리고 300으로부터의 tata.c. 내가 각 파일에서 rev를 가지기를 원할 때, 그것은 내가 조사하고있는 rev에 상응하는 최신 버전을 의미한다. 음 ... 설명이 충분하지 않아서 ... 괜찮습니까?:) – Ezekiel

+0

좋아, 그 버전에서만 변경된 파일에 대한 자세한 정보는 찾고 있지 않다. 그 시점에서 리포지토리의 모든 파일에 대한 세부 정보와 마지막으로 수정 된 버전을 찾고있다. 또한 당신이 이미 시도한 것과 당신이 얻고있는 결과를 보여 주면 도움이 될 것입니다. – Nanhydrin

답변

0

수은의 파일이 ("가장 최근의 개정과 관련된 특정 개정 번호가없는있어 경우 이 파일이 변경된 ") 하나의 파일에 여러 가지"최신 버전 "이 여러 분기에있을 수 있습니다.

이 명령리스트 수정판 모든 파일 :

hg Manifest

HG 매니페스트 [-r REV]

출력

+0

고마워요. 제 배치 파일에서 사용하고있는 첫 번째 명령입니다.하지만 각 파일에 대해 현재 버전이 리비전에 링크되어 있는지 확인해야합니다. 아마도 hg 로그 "filename" – Ezekiel

+0

'hg log -r " max (filelog (MYFILE.TXT)) "'는 MYFILE.TXT의 변경을 포함하여 가장 높은 개정 번호를 제공합니다 – jan

+0

더 많은 가능성을 위해'hg help revsets'를보십시오 – jan

0

매니페스트 매니페스트 프로젝트의 현재 또는 소정 개정 로그는 내 batchfile에 사용 된 두 개의 명령 이었지만 내 이해에 따라 문제가 있기 때문에 몇 가지 테스트를 수행해야합니다.

레브는 10입니다.이 레브에는 테스트 5가 10 번에서 10 번으로 변경된 test.c 파일이 있습니다.이 파일에 매니페스트 및 로그 명령을 적용하면 test.c 파일이 내 파일 목록과 rev에 있습니다. test.c는 10이 될 것입니다. 문제점은 rev5에 대한 매니페스트를 요청할 때 충분히 이해하면 내 파일 목록에 test.c가 있지만 로그를 적용 할 때 문제가됩니다. 그 파일의 최신 버전 만주세요 ... 그래서 rev10. 회전에서 내 파일이 오래된 버전이 5 ... 나는 당신이 매니페스트 결합 할 수

0

당신의 조언에 대한 몇 가지 테스트 :

감사 할 오늘 시간이 좀 걸릴 당신의 진술을 얻기 위해 로그인 할 경우에도 목록 :

for i in `hg ma`; do hg log -l1 $i --template="$i: {rev}\n"; done 

현재 체크 아웃 된 개정판에있는 각 파일의 최신 변경 사항을 나열합니다. 저장소에있는 모든 파일을 원할 경우 (더 이상 존재하지 않더라도) manifest에 --all 플래그를 지정할 수 있습니다. 그리고 --follow와 --removed를 로그에 추가하십시오.

+0

흠 좋습니다. 나는 지금이 종류의 배치 파일을 사용하고있었습니다 : /f %% G in (tmp.txt)에 대해'hg manifest> tmp.txt' '(echo %% G >> test.txt & hg log -f -l 1 "%% G">> 테스트. txt)' 'del tmp.txt' – Ezekiel