[svn] 트렁크에 분기 병합

SVN에 특이한 문제가 merge있습니다. 개발 지점에서 트렁크로 병합하고 싶습니다. 우리는 동시에 여러 가지 분기가 트렁크를 잘라 냈습니다.

이 명령으로 해당 지점 중 하나를 트렁크에 병합하고 있습니다.

svn merge trunk branch_1

이 분기의 일부가 아닌 변경 사항이 트렁크에 병합되는 것을 볼 수 있습니다. 내가 뭘 잘못하고 있죠 ?

SVN 버전 :

Subversion 명령 줄 클라이언트 버전 1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32



답변

귀하의 svn merge구문이 잘못되었습니다.

작업 사본을 체크 아웃 한 trunksvn merge --reintegrate옵션 을 사용 하려고합니다 .

$ pwd
/home/user/project-trunk

$ svn update  # (make sure the working copy is up to date)
At revision <N>.

$ svn merge --reintegrate ^/project/branches/branch_1
--- Merging differences between repository URLs into '.':
U    foo.c
U    bar.c
 U   .

$ # build, test, verify, ...

$ svn commit -m "Merge branch_1 back into trunk!"
Sending        .
Sending        foo.c
Sending        bar.c
Transmitting file data ..
Committed revision <N+1>.

자세한 내용은 SVN 서적 병합관한 장 을 참조하십시오.


그것이 쓰여질 당시에는 이것이 정답이었고 받아 들여졌지만 일이 진행되었다는 점에 유의하십시오. topek의 답변과 http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate를 참조하십시오


답변

작업 디렉토리가 트렁크를 가리키는 경우 브랜치를 다음과 병합 할 수 있어야합니다.

svn merge https://HOST/repository/branches/branch_1

트렁크의 루트 디렉토리에서이 명령을 실행해야합니다


답변

트렁크에서 svn 업데이트를 수행하고 개정 번호를 확인하십시오.

트렁크에서 :

svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName

svn log를 수행하여 트렁크에서 분기가 잘린 위치를 확인할 수 있습니다

svn log --stop-on-copy


답변

구문이 잘못되었습니다. 대신

svn merge <what(the range)> <from(your dev branch)> <to(trunk/trunk local copy)>


답변