Van*_*ran 123 svn version-control merge
我正面临着SVN的一个特殊问题merge
.我想从dev分支合并到trunk.我们有多个开发分支同时切断主干.
我正在使用此命令将其中一个分支合并到trunk:
svn merge trunk branch_1
Run Code Online (Sandbox Code Playgroud)
我看到的变化不是这个分支的一部分,而是被合并到主干中.我究竟做错了什么 ?
SVN版本:
Subversion命令行客户端,版本1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32.
bla*_*lah 211
你的svn merge
语法错了.
您想要签出工作副本,trunk
然后使用该svn 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>.
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅SVN书中有关合并的章节.
请注意,在编写时,这是正确的答案(并被接受),但事情已经发生了变化.请参阅topek的答案,以及http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate
top*_*pek 74
如果您的工作目录指向主干,那么您应该能够将您的分支合并到:
svn merge https://HOST/repository/branches/branch_1
Run Code Online (Sandbox Code Playgroud)
一定要在trunk的根目录下发出这个命令
Mik*_* K. 16
在主干中进行svn更新,记下修订号.
从后备箱:
svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName
Run Code Online (Sandbox Code Playgroud)
您可以通过执行svn日志来检查从主干切割分支的位置
svn log --stop-on-copy
Run Code Online (Sandbox Code Playgroud)