2008-12-30 78 views
67

我使用的是Subversion 1.4.6,现在我无法升级到版本1.5。将主干合并到Subversion中的分支

的情况:

  1. 树干有很多结构改变(即移动文件,主要是)。

  2. 我有一个分支,最近从干线合并,但在重大变化之前。

将树干合并到分支的最佳方式是什么?

我脑子里想的是什么:

  1. 第一支谨慎地合并到主干,由分支到主干只合并修改过的文件。

  2. 将树干复制到分支。在不丢失分支历史的情况下做到这一点的最佳方式是什么?我应该否决分支并创建一个新分支?


好了,它看起来像我没有给予足够的SVN信贷。毕竟它足够聪明。我刚刚被“D”和“A”的输出推迟了,但在后台做了一个动作。

+1

**的问题和答案是相关的非常古老的SVN客户端和服务器版本和不相关的SVN 1.5+,尤其是SVN 1.8 + ** – bahrep 2017-04-13 06:46:38

回答

81

有没有什么能阻止你合并自上次合并后的所有修订版本?

svn merge -rLastRevisionMergedFromTrunkToBranch:HEAD url/of/trunk path/to/branch/wc 

应该工作得很好。至少如果你想合并所有的变化到你的分支。

+3

当我dried-运行它,那里有很多“D”和“A”用于许多文件,因为在trunk中移动的文件。我的问题是SVN是否记得这种情况下的文件历史。 – 2008-12-30 07:27:42

+0

在trunk中移动文件时使用了svn rename吗?如果你这样做,历史应该保持。我认为你应该小规模尝试 - 创建一个新的存储库,一个带有单个文件的主干,一个带有更改的分支,对主干做一个svn重命名并检查历史是否存在。 – 2008-12-30 07:42:10

+1

我怎么知道哪个是从树干合并到分支的最后一个版本? – 2009-10-13 17:46:00

15

修订从主干分支合并可以通过工作拷贝目录中运行这个命令可以找到:

svn log -v --stop-on-copy 
9

这是“老土”的方式来指定要合并的版本范围。随着1.5+可以使用:

svn merge HEAD url/of/trunk path/to/branch/wc 
相关问题