将分支合并到中继
我正面临SVN merge
一个奇怪的问题。 我想从开发分支合并到主干。 我们有多个开关分支同时切断了行李箱。
我正在合并其中一个分支来使用此命令进行中继:
svn merge trunk branch_1
我看到不属于这个分支的变化,被合并到主干中。 我究竟做错了什么 ?
SVN版本:
Subversion命令行客户端,版本为1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32。
你的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>.
有关更多详细信息,请参阅SVN书籍合并章节 。
请注意,在写作的时候,这是正确的答案(并被接受),但事情已经开始。 查看topek的答案,以及http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate
如果你的工作目录指向了trunk,那么你应该可以把你的分支与:
svn merge https://HOST/repository/branches/branch_1
一定要在你的trunk的根目录下发出这个命令
在trunk中做一个svn更新,记下修订版本号。
从树干:
svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName
通过执行一个svn日志,你可以检查分支从哪里被切断
svn log --stop-on-copy
语法是错误的,它应该是
svn merge <what(the range)> <from(your dev branch)> <to(trunk/trunk local copy)>