【问题标题】:Why do I get conflicts when Merging a branch to the Trunk and then merging it back to the branch?将分支合并到主干然后将其合并回分支时,为什么会出现冲突?
【发布时间】:2010-06-07 21:51:33
【问题描述】:

假设我有一个名为“branches/BigFeature”的功能分支。我想将这些更改推送到主干,对主干进行一些更改并将其全部合并回“BigFeature”分支,以便继续开发。

我的步骤是:

  1. 将 Trunk 中的最新更改合并到分支/BigFeature。 (Tortoise SVN -> 合并一系列修订)

  2. 将分支/BigFeature 中的更改合并到主干。 (Tortoise SVN -> 重新整合一个分支)

  3. 对 Trunk 进行一些更改。

  4. 将 Trunk 中的更改合并到分支/BigFeatures。 (Tortoise SVN -> 合并一系列修订)

问题出现在第 4 步。当我合并回 BigFeature 时,我会遇到各种冲突。原来是在branches/BigFeature 中添加但合并到Trunk 的文件似乎有问题。

它给我的信息是“最后 合并操作试图添加文件 'blah' 但它已经被添加了 本地。

这有点道理,因为文件最初是添加到分支/BigFeature 分支中,然后合并到 Trunk 中。但是为什么合并操作不能实现这一点呢?为什么会出现冲突?

删除的文件也会发生同样的错误。

最后一次合并操作试图删除/移动/重命名目录'blah',但它在本地被删除、移动或重命名。

感谢您的帮助。

【问题讨论】:

  • SVN 合并一般都不好用。
  • 任何说 svn merge 不起作用的人都没有做对。 Svn 的变化概念视图不是最好的(后来的 SCM,如 git 让它更接近标记),但它根本不是真的,一个人不能与 subversion 进行合并,甚至不能管理一个复杂的代码库,合并即将到来进进出出。
  • 是的,还有其他选择,Git 和 Mercurial

标签: svn tortoisesvn merge branch conflict


【解决方案1】:

不幸的是,它的构建方式是 svn 的不足。

svn 中的步骤必须是这样的:

1. (not modified) Merge the latest changes in Trunk to branches/BigFeature. (Tortoise SVN -> Merge a range of revisions)
2. (not modified) Merge the changes in branches/BigFeature to Trunk. (Tortoise SVN -> Reintegrate a branch)

2a. Delete branch branches/BigFeature
2b. Create branch branches/BigFeature from current trunk

3. (not modified) Make some changes to Trunk.
4. (not modified) Merge the changes in Trunk to branches/BigFeatures. (Tortoise SVN -> Merge a range of revisions)

SVN 分支在重新集成操作后不再可用。

更新:有一个second way,而不是删除分支。

2a. on branch: 
    $ svn update
    Updated to revision X
    $ svn merge --record-only -c X ^/trunk
    $ svn commit -m "Block revision X from being merged into the branch."

我不知道这个技巧,多亏了你的问题,我才学会了:D

【讨论】:

  • 这很不幸。但是,至少它不只是我:) 这个解决方法应该可以解决问题。
  • 不必一直删除和重新创建分支。您只需要正确构造合并命令,就不会重新合并之前合并的所有内容。
  • 你能提供一些关于如何做到这一点的见解吗?我可以使用 cmd 行,但如果 Tortoise SVN 提供了一种方法来执行此操作,我显然会更喜欢。
  • 抱歉,我目前无法访问任何带有乌龟的 Windows 机器。我不知道 tortoise 是否允许您访问此功能。
猜你喜欢
  • 1970-01-01
  • 2010-11-19
  • 2011-11-25
  • 1970-01-01
  • 2010-11-03
  • 2014-11-27
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多