2011-02-02 5 views
0

Subversion 1.3 또는 1.4를 사용하고 있습니다. 아직 서버를 1.5로 업그레이드 할 수 없습니다. 브랜치를 생성하고 변경 한 다음 현재 브랜치에서 작업을 마친 후 다시 트렁크에 병합해야합니다.TortoiseSVN을 사용하여 SVN 1.5 이전 기능 분기를 병합

내가 갈라진 이후 (~ 1 개월), 많은 변화가 트렁크에 부딪쳤다. SVN의 "merge revisions"기능을 사용하여 이들을 내 지점에 병합했습니다. 즉, 변경 사항과 함께 지점에 최신 트렁크 코드가 포함되어 있음을 의미합니다.

1.5가 없으므로 Tortoise SVN "reintegrate branch"기능을 사용할 수 없습니다. 트렁크에 브랜치의 개정 범위를 병합하려고했지만, 톤의 (및 트리 충돌)이 발생합니다. 내 지사가 트렁크에서 모든 변경 사항을 병합했기 때문에 (이유가 무엇인지 모르겠다.)

일부 구조 조정 (파일 이동, 디렉토리 삭제)을 수행했습니다. 나는 뭔가를 놓치고있는 것처럼 느낍니다. 내 지사에 최신 트렁크 코드와 지사 변경 사항이있는 경우 병합이 트렁크 전체로 충돌하는 이유는 무엇입니까?

어떻게 업데이트 된 분기를 트렁크에 신속하게 병합 할 수 있습니까?

+0

나는 트렁크에서 최신 코드에 실수를 내 지점을했다 업데이트 생각 버전을 은퇴하는 방법을 설명합니다. "마지막으로 병합 된 X가 추가되었지만 이미 추가되었습니다"또는 "마지막으로 병합 된 X가 삭제되었지만 이미 삭제되었습니다"와 같은 충돌이 발생합니다. – ashes999

답변

-1

SVN Redbook을 참조하면 1.5 이전에는 변경 사항을 트렁크에 병합하는 방법은 분기 전에 명시 적으로 개정 번호를 지정하는 것입니다. 관련 부분을 인용하는 것은 ...

는 트렁크에 다시 분기를 병합 (당신이 트렁크의 작업 복사본 을 가지고 있다고 가정하고, 분기 것을 개정 (250)에서 만든) :

$ svn merge -r 250:HEAD http://svn.red-bean.com/repos/branches/my-branch 

또한이 작업은 지점이 아닌 트렁크의 작업 복사본에서 수행해야합니다. 아마도 이것이 당신이 언급 한 갈등을 일으키는 원인 일 것입니다.

+0

트렁크의 작업 복사본에서 병합하여 트렁크에 분기를 병합 중입니다. TortoiseSVN (SVN에 대해 언급 한)에 대해 언급 한 사실을 감안하면 여전히 재 통합 프로세스를 설명하지 못합니다. 또는 완전히 통합 된 최신 버전 분기가 트렁크에 충돌로 병합되는 이유는 무엇입니까? – ashes999

+0

@ ashes999 TortoiseSVN은 svn 명령을 사용하므로 대답이 적용됩니다. 1.5 이전 버전에서는 Subversion이 수행 한 병합을 추적하지 않습니다. 따라서 재 통합은 더 까다 롭습니다. http://svn.haxx.se/tsvnusers/archive-2008-07/0446.shtml는 약간 아이디어를 줄지도 모른다 – Raghuram

+0

기록을 위해,이 대답에 downvote는 나의 것이 아니다. 그러나 이것은 250과 HEAD 사이에서 트렁크의 병합에서 커밋이 있기 때문에 작동하지 않을 가능성이 높습니다.이 변경은 트렁크에 다시 적용 (잘못된)되어 충돌을 일으킬 수 있습니다. – FlipMcF

관련 문제