2012-01-30 3 views
2

SVN merge과 함께 정말 귀찮은 문제에 직면하고 있습니다. 트렁크를 지점으로 병합하고 싶습니다. 일반적으로, 그것은 꽤 간단하지만, 이번에는 무거운 변화로 인해, 나는 단계별로 과정을 거쳐야했고 SVN은 그것을 고맙게 여긴다.왜 트렁크 서브 디렉토리가 병합되었을 때 SVN이 트렁크를 병합하지 않습니까?

내가 개정 에 지점을 만들어 말할 수 있습니다, 지금 저장소 개정 B이다. 트렁크에는 S1, S2과 같이 몇 개의 하위 디렉토리가 있습니다. 복잡성에 대한 아이디어를주기 위해, B는 트렁크에 많은 변화가있는 A 다음 ~ 1000 개정입니다. 많은 갈등과 나무 충돌이있었습니다.

단계별로 처리하려면 S1을 먼저 병합 한 다음 S2를 병합 한 다음 B의 병합을 즉시 수행하겠습니다. 나는이 명령을 사용했다. svn merge https://myrepo/trunk/S1 myBranchWorkingCopy/S1

S1 합병은 고통스럽지 만 성공했다. S2와 동일합니다.

희망이 가득 찼습니다. svn merge --dry-run https://myrepo/trunk myBranchWorkingCopy의 드라이 런을 시작하여 업데이트 된 속성 만보기를 기다리고 있습니다. 나는

내 결론은

트렁크 S1 + S2가 포함되어있는 경우입니다 ... 대신 그 모든 분쟁 (나무 또는 텍스트) 내가 S1 또는 S2에 대한 해결 다시 해결해야 ... 지나치게이었다 병합 (S1) + 병합 (S2)! = 병합 (트렁크) ?!?

내가 뭔가를 놓쳤습니까? SVN에 모든 서브 디렉토리가 병합 된 것이 아니라 트렁크가 즉시 병합되어야한다고 말할 수 있습니까?

감사

답변

1

그것은 서브 버전은 변경 사항이 양쪽에있다 알 수 있도록 --record 전용 플래그와 함께 다시 하위 폴더에 병합하여 작동합니다. Subversion 책의 the Advanced Merging 섹션에있는 "Reintegrated Branch Alive"섹션을 참조하십시오.

(약간의 샘플을 먼저 시도해보십시오.)

+0

해당 기능을 알지 못했습니다. 문제는 물론 병합이 시작된 다른 디렉토리입니다. 네가 그 일을 못하게 할 수있는 건 아무것도 없어. – mliebelt