2013-07-03 1 views
5

특정 파일에 대한 모든 변경 사항을 찾기 위해 TortoiseHg (또는 다른 가능성이없는 경우 일반 hg)을 찾는 방법을 찾고 있습니다.파일 "X"가 수정 된 이름의 분기에서 모든 변경 집합 찾기 (병합 포함)

리비전 세트 쿼리를 사용해 보았습니다. merge() and file("path/to/filename.cs") 하지만 그게 내가 원하는 것을 얻지 못했습니다. 빈 세트를 리턴합니다. merge()은 병합 만 반환하고 file() (나타납니다)은 병합을 반환하지 않으므로 교차가 비어 있기 때문에 이것이라고 가정합니다.

나는 또한 modifies(pattern) 시도했다하지만 그 file(pattern)가에서 충분히 다른 표시되지 않습니다 (file()처럼 나에게 보인다는 adds()modifies()의 결합이다). contains(pattern)은 요소를 전혀 반환하지 않습니다.

그렇다면 특정 파일이 어떤 식 으로든 수정 된 변경 집합 목록을 가져올 수 있습니까?

답변

4

에 필터 Tooolbar에 입력 할 수 있습니다. 변경 집합을 분기에 병합 할 때 Mercurial은이를 변경 사항으로 기록하지 않습니다. 대신 병합 된 변경 집합이 대상 분기에 포함되어 있음을 나타냅니다. 병합에서 파일이 수정 된 것으로 표시되는 유일한 시간은 병합 충돌이 발생하여 새로운 변경 집합이 생성되는 경우입니다.

변경 집합을 분기로 가져 오는 병합을 찾는 작업은 두 단계로 진행됩니다. 먼저 변경 사항이 발생한 곳에서 변경 집합을 찾아야합니다. 이 모든 변경 세트를 찾는 측면에서

hg log -r "first(branch(<BRANCH>) and descendants(<REVISION>))" 
+0

감사합니다. 때로는 대답을 볼 수없는 경우도 있습니다. 검색 횟수에 관계없이이 항목을 검색하지 못했습니다. 귀하의 답장과 복제물에 대한 링크에 감사드립니다. – reidLinden

0

hg log -r "branch(BRANCH) and file('PATTERN')"

Revset도 사용 THG 워크 벤치는 "어떻게 내 변화가이 지점에 들어가 않았다"문제로 실행중인 것 같습니다

0
hg log grep name_of_your_file 

나를 위해 트릭을합니까 : 당신이 개정이되면

hg log -r "file('<PATTERN>') 

대상 지점의 첫 번째 후손 변경 집합을 찾을 수 주어진 파일을 변경했습니다. 물론 당신이 뭔가를 좋아한다면 :

thg log name_of_your_file 
관련 문제