当分支重新集成到主干时,该分支是否有效死亡?
重新集成后可以对分支进行修改,并在以后将它们合并到主干中吗?
你可以在技术上做到这一点,你的分支不是死也不是禁用,但是不建议在重新集成后从分支合并到主干.
你可以在这里找到关于其原因的完整讨论:Subversion merge reintegrate
基本上,它说,可以将您的更改再次合并到主干,但是由于重新集成会强制您在重新集成操作之前从主干合并到分支,您将面临反向/循环合并,这在Subversion 1.5中非常有问题.
根据该文章,建议在重新集成后立即删除重新集成的分支,并创建一个具有相同(或不同)名称的新分支.
这是一个已知的Subversion行为,将在未来的版本中解决(可能在1.6)
实际上,您需要--record-only
从trunk 进行合并到您的--reintegrate
提交创建的修订的分支中:
$ cd trunk $ svn merge --reintegrate ^my-branch $ svn commit Committed revision 555. # This revision is ^^^^ important
现在你录制它
$ cd my-branch $ svn merge --record-only -c 555 ^trunk $ svn commit
你很高兴现在继续分支
有关详细信息,请参阅第4章"分支和合并,高级合并".
从分支重新集成到主干后,您应该执行以下两项操作之一:
删除你的分支.这是最简单的,但它更难以看到分支的历史.
告诉你的分支不要合并重新整合提交.如果您重新集成到主干,并将其作为修订版X提交,则可以在分支上运行此命令:svn merge --record-only -c X url-to-trunk
.但是,如果您在提交过程中进行了任何更改,则不应执行此操作,而不是合并本身.任何其他更改将永远不会回到您的分支.