hg 버전간에 변경된 파일 목록 생성


118

Mercurial의 지정된 디렉토리에서 두 개정판 사이에 어떤 파일이 변경되었는지 목록을 생성하고 싶습니다.

특히 무엇이 변경 되었는지 관심이 없지만 해당 디렉토리에서 어떤 파일이 변경 되었는지 는 관심이 없습니다 .

예, 사이 랬 thenotherthen만이 파일이 변경 :

>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>

가상의 명령은 무엇입니까? 나는 diff와 log를 시도했지만 어떻게 그들이 그것을하도록 설득 할 수 있는지 볼 수 없다 : 나는 patch (diff)를 얻거나 전체 repo (log)를 얻는다.

답변:


166
hg status --rev x:y

여기서 xy개정 번호 (또는 태그 또는 지점 이름)을 요구하고 있습니다.

Windows에서 터미널을 사용하는 경우 hg status --rev x:y> your-file.txt목록을 파일에 저장하려면 추가 하십시오.


3
현재 디렉토리의 변경 사항 만 보려면 :hg status --rev x:y .
User

14
최신 개정판의 변경 사항을 보려면 : hg status --rev .^
kunigami 2014

8
파일 이름 목록 만 가져 오려면 (변경 유형을 나타내는 접두어 문자 없음)을 추가하십시오 -n. 예hg status --rev x:y -n
Cheetah

1
hg status --change .목록 변경된 파일 .- 동일 목록에 hg status --rev .^더 직접적으로하지만
Metaxis

14

상태 는 필요한 것입니다.

그러나 "두 개정 사이"의 의미에 따라 " x :: y "(DAG-Directed Acyclic Graph) 범위 사용을 고려할 수도 있습니다 .

병렬 변경 집합이 주어지면

1--2---4 \---3

hg status --rev 1:4 (1,2,3,4)를 반환합니다. 즉, 로컬 숫자 rev 에 따라 끝점을 포함하는 모든 항목을 반환 합니다. 이것은 관련이 있긴하지만 다른 저장소에서 다른 결과를 반환 할 수 있습니다.

hg status --rev 1::4(1,2,4), 즉 끝점 및 '1'의 자손 이자 '4'의 조상 인 모든 변경 집합을 반환 합니다.

후자의 경우 x :: y는 일반적으로 실제 응용 프로그램에서 더 유용합니다. 이것은 TortoiseHg \ Visual Diff를 통해 얻을 수있는 것입니다.


> hg 도움말 개정 :

"x :: y"DAG 범위. x 및 y 자체를 포함하여 x 및 y의 조상 인 모든 변경 집합을 의미합니다. 첫 번째 끝 점이 생략되면 "ancestors (y)"와 동일하고 두 번째 끝 점이 생략되면 "descendants (x)"와 같습니다.


1
명령을 명시 적으로 포함해야 할 수 있으므로 대답이 다른 것에 의존하지 않고 더 확실하게 사용할 수 있습니다. "예, 상태는 필요한 것입니다. 예 : hg status --rev x::y".
PhoneixS
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.