2010-07-22 2 views
5

3 개의 파일 (왼쪽, 오른쪽 및 조상)을 지정하는 옵션이 표시되지만 실제로는 의 조상 인을 표시 할 수 없습니다.FileMerge에서 3 방향 병합을 어떻게 수행합니까?

enter image description here

아래쪽 창 병합 한 결과이다. 차라리 원본 콘텐츠가 무엇인지보고 싶기 때문에 충돌의 왼쪽과 오른쪽에 대한 상황을 이해할 수있었습니다. 이것이 가능한가? FileMerge에는 끔찍한 도움말 문서가 있습니다.

답변

4

필자가 알고있는 한, 이것은 파일 병합으로는 불가능합니다.

유료 (그러나 아주 좋은) 응용 프로그램 : http://www.deltopia.com/

오픈 소스 : http://sourcegear.com/diffmerge/

+0

Deltopia가 좋아 보인다. 감사. –

+2

Perforce의 P4Merge는 무료이며 멋진 3-way diff/merge 도구이며 OSX, Linux 및 Windows 용으로 제공됩니다. – Clafou

+0

이것은 허용 된 답변이며 사람들이 fav 도구를 연결하고 있기 때문에 kdiff3에 대해서도 언급 할 것입니다.), 자유롭 3 방향 합병은 아주 잘한다. 그것은 꽤 추악하지만 (OSX에서) 키보드 친숙하고 사용하기 쉽습니다. – LOAS

5

버전 2.5에서 그들이 마지막으로이 기능을 추가 한 것 같습니다. "조상는"지금 실제로 "조상"를 의미하고이 같은 것을 할 수있는 명령 행에서 별도의 "병합"옵션

있다 : "나의"파일의 내 버전

$ opendiff mine theirs --ancestor base 

입니다 , "theirs"는 내가 병합하려고하는 버전이고 "base"는 "나의 것"과 "그들의 것"의 공통 조상입니다.

이 명령은 File Merge를 열고 아래쪽에 조상을 표시합니다 병합은 2010 년부터의 예입니다.)

불행히도, --merestor 옵션과 함께 --merge 옵션을 사용할 수 있습니다. 따라서 3 방향 병합을보고 파일 병합을 사용하여 충돌을 동시에 해결할 수는 없습니다.

충돌을보고 이해하기 위해 파일 병합을 사용하기 시작한 다음 평소와 같이 텍스트 편집기에서 충돌 표식을 편집하기 시작했습니다. (한숨 ...)

+0

FileMerge 2.5를 사용합니다 ... Ancestor 옵션이 있지만 맨 아래에 조상 파일이 나타나지 않습니다 ...병합 제품 만 있습니다. 어떤 생각? – MirkoBanchi

+0

내가 틀렸던 것 같습니다. 제이크 그리핀의 대답을보십시오. –

3

@ mehaase : 정확하지 않습니다. 여기 FileMerge를 도움말에서 새 조상 옵션에 대한 문서입니다 :

Sometimes, you need to compare two versions of a file that have been modified 
independently. For example, say two people branch a file; that is, they make 
copies of a file and modify it. In this case, specify an ancestor file, which 
is the common ancestor of the modified files. 

The ancestor file lets FileMerge choose when to take changes from the left 
file or the right file. For example, say the left file and the right file 
contain a different version of line 33. If line 33 in the ancestor matches 
line 33 in the left file, you know the change happened after the two files 
branched off, and FileMerge prefers the newer version of line 33 in the right 
file. If line 33 is different among the three files, you know that the files’ 
editors edited the lines separately. FileMerge displays that difference with 
a red border and asks you to choose with edit to use. 

그래서 조상이 여전히 표시되지 않습니다,하지만 그것이 왼쪽 또는 오른쪽을 선택하기로 결정 때 조금 더 정보에 입각 한 의사 결정을 내릴 병합 도구를하는 데 도움이 기본적으로면이 있습니다.

+0

와우, 뛰어난 지적. 나는 내 대답을 올렸을 때 내가 생각하고 있던 것을 모른다. 방금 버전 2.7에서 시도했는데 맞습니다. 하단에는 조상이 아닌 병합 결과가 표시됩니다! FileMerge는 프로그래머에게는 쓸모가 없습니다. 나는 애플 자신의 개발자들이 사용하고있는 것이 무엇인지 궁금하다. –

2

이 대답은 기술적으로 FileMerge으로 하는 방법에 대한 질문에 대답하지 않지만 kdiff3 (Windows, Mac 및 * nix에서 사용 가능)을 사용하고 기본/조상 및 왼쪽 및 오른쪽을 보여줍니다. 3 방향 병합을 위해 출력/결과를 더한 것입니다. (http://kdiff3.sourceforge.net/)

예쁜 사용자 인터페이스는 아니지만 (IMHO) 상당히 사용하기 쉽고 잘 작동합니다. 그리고 그것은 오픈 소스입니다. :-)