合并从分支到主干的来源。用树枝改变树干

时间:2009-12-03 14:31:54

标签: svn

我们需要将更改从分支合并到主干 我们不需要在创建分支时在trunk中进行任何更改 的 1。我们不需要合并源 - 我们需要用trunk中的源替换trunk中的源。 2.我们不需要在trunk中创建但在分支中不存在的文件和目录(或在分支中删除)。

在这种情况下如何合并资源会更好?

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

  1. 我可以将trunk移动到某个分支目录并将分支b1移动到trunk:

    svn move http://svnhost/svn/mtest/trunk http://svnhost/svn/mtest/branches/branch4trunk
    svn copy http://svnhost/svn/mtest/branches/b1 http://svnhost/svn/mtest/trunk

  2. 我可以删除trunk中所有不需要的文件和目录,然后将分支合并到trunk

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

    位是否可以强制不合并文件但替换它们?

  3. 这些案件是否有任何陷阱?
    我们使用Subversion 1.5

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

3 个答案:

答案 0 :(得分:1)

我会这样做:

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

这就是说,“接受让我从主干到分支的变化,并将它们应用到主干。”

换句话说,“告诉我将干线变成分支的变化......然后做它们!”

答案 1 :(得分:0)

我自己做了选项1并且没有任何陷阱报告。如果我理解正确,你想要吹掉行李箱并用树枝彻底更换它,所以......就这样做!

答案 2 :(得分:0)

您可以在分支生成后回滚主干中的所有更改,然后只需以正常方式将分支重新集成到主干中。

这基本上是对分支以来主干上所有更改的反向合并,并为您提供一个删除它们的修订。然后分支变化就会出现。