2009-10-23 4 views
1

현재 두 개의 분기를 병합하기 위해 TortoiseSVN을 사용하고 있으며 특정 병합 시나리오를 처리 할만큼 똑똑하지 않은 것으로 나타났습니다.충돌하는 변경 사항을 병합 할 수있는 병합 도구

MyMethod(parameter1, parameter2, parameter3) 

을 다른 지점에서 다음과 같이 내가 같은 방법을 가지고 다음과 같이

한 지점에서 나는 방법이

MyMethod(parameter1, parameter2, parameter4) 

TortoiseMerge이 충돌은 만 제공한다는 통지 나에게 하나의 메소드 서명이나 다른 것을 사용할 수있는 옵션. 나는 현재이 충돌 주위에 얻을 수

MyMethod(parameter1, parameter2, parameter3, parameter4) 

유일한 방법은 두 가지 방법이되도록 선을 해결하는 것입니다 그러나, 내가 정말 원하는 것은 다음과 같이 네 가지 매개 변수를 사용하여 하나의 방법으로 병합하는 것입니다 현재 파일을보고 충돌이 해결 된 후 수동으로 수정하십시오.

이 시나리오를 처리 할 수있는 똑똑한 병합 도구가 있습니까?

+0

매우 열심히 요청하고 있습니다! –

+0

또한보십시오 http://stackoverflow.com/questions/2235693/is-there-a-3-3-way-merger-tool-that-understands-common-refactoring –

답변

3

나는 그것을 얻지 못합니까? 원하는 메서드 서명이 두 분기에 없기 때문에 프로젝트가 컴파일되지 않거나 병합 후에 올바르게 실행되지 않습니다. 이것은 갈등보다 위험하지 않습니까? 아마 나는 명백한 것을 놓쳤습니다.

IMHO TortoiseSVN (또는 오히려 SVN 클라이언트)은 충돌을보고하는 데 올바른 일을하고 있으며, 사람의 개입이 필요합니다.

+0

그래, 나는 인간의 개입이 필요하다는 데 동의한다. 그냥 코드를 잘못 합병하지 않고 올바르게 병합 한 다음 나중에 수동으로 수정해야하는 도구를 원합니다. – mezoid

+1

동의 ... 코드의 동일한 줄이 각 파일에서 다르면 svn이 어떻게 병합 하는지를 알아낼 방법이 없습니다. 인간조차 방법의 목적을 모르는 경우에 그 선을 합병하는 어려움이 있을지도 모른다. –

0

AFAIK, 어떤 병합 도구 충돌로보고를 제외하고 이러한 시나리오에 도움이되지 수

이 도구는 4 개 매개 변수를 하나의 함수 호출로 병합합니다.

MyMethod라는 (매개 변수 1, 매개 변수 2, 매개 매개) 여기

는 첫번째 다음 매개 변수 4 또는 그 반대 매개 변수 3을 배치 할 것인지 모호성을 온다.

0

지금까지 내가 자동으로 요구하는 도구를 찾지 못했습니다. 가능하지 않을 수도 있습니다. 그러나 나는 내가보고 할 수있는 해결책을 발견했다.

내가 찾은 perforce visual merge을 설치하면 거북이 svn이 제공하는 기본값보다 멋진 병합 기능이 있습니다. 내가 찾은 멋진 기능 중 하나는 거북이가 병합했는지 기억할 수 없지만 을보고 병합 된 결과를 편집 할 수 있다는 것입니다. 따라서 원하는 줄을 자동으로 병합 할 수는 없지만 병합을 잘못 해석하고 병합 후에 수동으로 업데이트하는 대신 해당 위치에서 충돌을 편집 할 수 있습니다.

0

나는 TortoiseSVN이 이것을 처리 할 수 ​​없다고 확신합니다. 보다 광범위하게, 다른 텍스트 기반 병합/diff 도구는 다음과 같은 기능을 수행 할 수 없습니다. 이러한 도구는 사용하는 언어에 대해 불가지론 적이며 사용자의 코드를 의미 상 이해할 수 없습니다.그들은 실제로 "char by char"비교를합니다. 실제로 컴파일러처럼 읽지 않거나 그러한 문자가 나타내는 것을 의미합니다.

이런 종류의 작업이 다소 합법적 인 언어를 사용하는 경우 해당 언어와 관련된 것이 있는지 확인할 수 있습니다.

병합 중에 편집 기능은 TortoiseSVN이 실제로 그렇게 할 수 있습니다.