갈등 해결 : "자신의"변경 사항을 자동으로 수락하는 방법은 무엇입니까?


97

를 사용하여 충돌하는 변경 사항을 병합 할 때 hg mergeMercurial은 다음과 같이 작업 복사본에 병합 할 파일에 마커 세트를 삽입합니다.

<<<<<<< local
  version = 0.2
=======
  version = 0.1
>>>>>>> other

그런 다음에서 생성 한 목록에서 U로 표시된 모든 파일을 수동으로 편집 hg resolve --all -l한 다음 mercurial에hg resolve -m file1 file2 file3 ...

그러나 많은 상황에서 충돌하는 파일에 대해 내 전용 또는 해당 변경 사항을 수락하고 싶습니다. 나는 두 가지 간단한을 만들 생각입니다 SED / AWK / 스크립트라는 이름의 어떤 accept-theirs.shaccept-my.sh또는 그것을 할 수있는 "적절한"방법이?

답변:


166

사용하다

hg resolve -t internal:other --all

수락 theirs하고

hg resolve -t internal:local --all

수락하다 yours


대단히 감사합니다! @djc가 의미하는 바를 이해하지 못하지만 솔루션은 매력처럼 작동합니다.
psihodelia 2013 년

@psihodelia djc는 거의 동일하다고 말했습니다. 시도해보십시오 hg help merge-tools(mergetools는 후자의 버전에서 별칭 임)
MGP

6
참고로 나는 이것을 별칭으로 지정했습니다.[alias] mine = resolve -t internal:local theirs = resolve -t internal:other
Melvyn 2013

1
이것들은 .hgrc초보자를 위해 자신의 라인에 추가 할 세 줄입니다 : [alias], then mine = resolve -t internal:local, then theirs = resolve -t internal:other. 당신이 사용할 수있는 후 hg mine some_file.py또는 hg theirs -a(모두)
Tobia

1
현재 phab.mercurial-scm.org/D4379 , 당신은 또한 포함해야 --re-merge플래그 (예 hg resolve -t internal:other --re-merge --all)
에단 코닉

23

이 시도:

hg merge --tool 'internal:other'

자세한 내용은를 참조하십시오 hg help merge-tools.


1
또는 resolve단일 파일 / 다시 실행의 경우. (또한 주위의 따옴표 internal:other는 필요하지 않습니다.)
Chris Morgan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.