코드 리뷰를하는 습관을 갖기 위해 노력하고 있지만 Mercurial에 "병합에 의해 도입 된 변경 사항 만 표시하는 방법을 모르기 때문에 병합이 어려워졌습니다. 그 부모. "Mercurial : 병합으로 인한 변경 사항 만 표시하려면 어떻게해야합니까?
또는 약간 더 공식적으로 (스티브 Losh는 덕분에) :
나에게 부모 중 하나에 존재하지 않았다 병합의 모든 화물선을 표시하고, 나에게 중 하나에서 모든 덩어리의 존재를 보여 그 부모도 3에 없습니다.
예를 들어, 두 개의 파일 a와 b가있는 저장소가 있다고 가정합니다. 리비전 1에서 "a"가 변경되면 리비전 2 (별도의 브랜치에 있음)에서 "b"가 변경되고 리비전 3에서이 두 변경 사항이 병합됩니다. 다음과 같은 기록을 보게됩니다 :
@ changeset: 3 |\ summary: Merged. | | | o changeset: 2 | | summary: Changing b | | o | changeset: 1 |/ summary: Changing a | o changeset: 0 summary: Adding a and b
하지만 개정 3, hg di -c 3
에 의해 도입 된 변화를 보여달라고하면 내가 개정 1에 소개 된 변경 사항을 확인하도록 요청 것처럼 의욕이 나에게 같은 일을 보여줄 것이다, hg di -c 1
:
$ hg di -c 3 --- a/a +++ b/a @@ -1,1 +1,1 @@ -a +Change to a $ hg di -c 1 --- a/a +++ b/a @@ -1,1 +1,1 @@ -a +Change to a
하지만, 분명히, 이것은별로 도움이되지 않습니다. 대신에, 개정 3에 의해 새로운 변경 사항이 도입되지 않았다고 말하고 싶습니다. (또는 m 나는 그 갈등에 대한 해결책 만보고 싶다.) 예 :
$ hg di -c 3 $
그럼 어떻게하면됩니까?
PS : 내가 rebase
를 사용하여 내 저장소에 병합의 수를 줄일 수 있다는 사실을 알고 ...하지만 그건 내 문제가 아니에요 - 내 문제는 병합으로 변경되었습니다 무엇인지 파악한다.
이것은 매우 유용한 명령처럼 들립니다. 나는 그 대답을 고대하고있다. –
비슷한 질문 : [수은 있음, 다른 부모로부터 변경하지 않고 병합 변경 집합과 하나의 부모 사이의 diff를 보는 방법?] (0120-385-381) –
나는 결국 mergediff plugin : http://mercurial.selenic.com/wiki/MergediffExtension –