Mercurial의 지정된 디렉토리에서 두 개정판 사이에 어떤 파일이 변경되었는지 목록을 생성하고 싶습니다.
특히 무엇이 변경 되었는지 관심이 없지만 해당 디렉토리에서 어떤 파일이 변경 되었는지 는 관심이 없습니다 .
예, 사이 랬 then
및 otherthen
만이 파일이 변경 :
>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>
가상의 명령은 무엇입니까? 나는 diff와 log를 시도했지만 어떻게 그들이 그것을하도록 설득 할 수 있는지 볼 수 없다 : 나는 patch (diff)를 얻거나 전체 repo (log)를 얻는다.
답변
hg status --rev x:y
여기서 x
및 y
개정 번호 (또는 태그 또는 지점 이름)을 요구하고 있습니다.
Windows에서 터미널을 사용하는 경우 hg status --rev x:y
> your-file.txt
목록을 파일에 저장하려면 추가 하십시오.
답변
상태 는 필요한 것입니다.
그러나 “두 개정 사이”의 의미에 따라 ” 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)”와 같습니다.