2009-12-03 182 views
1

我们需要合并分支到主干的更改。
而且我们不需要我们在树干创建后做的任何更改。
1.我们不需要合并源代码 - 我们需要用分支中的源代替trunk中的源代码。 2.我们不需要在trunk中创建但在分支中不存在的文件和目录(或在分支中删除)。将分支合并到主干。更改分支的主干

在这种情况下合并源代码会更好吗?

现在我有主干和分支B1:
http://svnhost/svn/mtest/trunk
http://svnhost/svn/mtest/branches/b1

  1. 我能搬到后备箱一些分支目录和移动分支B1主干:

    SVN移动http://svnhost/svn/mtest/trunkhttp://svnhost/svn/mtest/branches/branch4trunk
    svn副本http://svnhost/svn/mtest/branches/b1http://svnhost/svn/mtest/trunk

  2. 我可以删除所有不需要的文件,并在树干目录的然后合并分支到主干

    SVN共同http://svnhost/svn/mtest/trunk
    CD干线
    SVN合并--reintegrate http://svnhost/svn/mtest/branches/b1

    位有可能强制不合并文件,但将其替换?

在这些情况下是否有任何缺陷?
我们使用Subversion 1.5

我不喜欢第一种情况,因为我需要将SVN源复制到MKS存储库。
当这些文件从SVN存储库中删除时,我们的工具会自动从MKS存储库中删除文件。
但是,如果我将分支移动到主干,则不会有任何有关此类文件的操作。
所以我必须从MKS库中手动删除大量文件。
这不是一个好主意:(
我想有修改/添加或删除实际行动。

回答

1

我会做这样的:

 
svn co http://svnhost/svn/mtest/trunk 
cd trunk 
svn merge http://svnhost/svn/mtest/trunk http://svnhost/svn/mtest/branches/b1 

这是说,“采取让我从变化树干分支,并将它们应用于树干。“

换句话说,“告诉我将把树干变成树枝的变化......并做它们!“

+0

但在这种情况下,分支机构的历史记录将不会被保存? 它是正确的吗? – 2009-12-03 15:05:25

+0

我不确定你的意思,所有的历史记录仍然存在。 – 2009-12-03 15:22:03

+0

我希望看到从trunk和分支文件的所有修订。 这可能吗? TortoiseSVN客户端可以这样做吗? – 2009-12-03 15:49:40

0

我已经做了选择1我和可以报告任何隐患。如果我理解正确的话,你想!吹走躯干和用树枝代替彻底,所以......只是做

+0

请阅读更新 我可以使用第一种方法,但我不想这样做:( – 2009-12-03 14:45:46

0

因为制造分支你可以回滚在树干所有的变化,只要简单的把分支重新融入行李箱的正常方式。

这基本上是因为主干的所有更改了反向合并分支,并给你一个修正,将它们全部删除,然后分支变化进来顶部