【发布时间】:2012-01-09 16:53:54
【问题描述】:
我从主干创建了一个分支 Feature1。然后我从 Feature1 创建了一个分支 Feature1.1。 像这样:
+--------- Feature1.1
/
+-----+----------- Feature1
/
/----------+--------------------------------------------- trunk
我现在已经完成了 Feature1 的工作,但是我必须在 Feature1.1 上做更多的编码,所以我将 Feature1 与 trunk 合并,如下所示:
- 合并:主干 -> Feature1
- 已合并:Feature1 -> Feature1.1
- 已合并:功能 1 -> 主干(重新集成)
然后我的计划是合并“Trunk -> Feature1.1”并继续在 Feature1.1 中工作并修复主干中的 Feature1 错误。但是当我尝试合并“Trunk -> Feature1.1”时,看起来项目中的所有文件都标有冲突。
我是否必须手动合并文件(约 100 个文件...),或者有谁知道如何解决这个问题?
一种解决方案可能是将 Feature1.1 中的文件合并到 Feature1(如果可能的话),然后从 Feature1 分支执行另一个trunk-reintegrate-merge。请参阅 SVN 书中的 Keeping a Reintegrated Branch Alive 章节。
【问题讨论】:
-
不确定它是否会回答您的问题,但如果您使用的是 git,它非常简单。您只需针对新主干重新设置分支 Feature1.1。一令。我不认为在 SVN 中这很容易,你可以使用“git svn”桥,但是你很难将它同步回 svn。 git 是如何做到的 - 它在 Feature1.1 中在新基础(你的情况下是最新的主干)之上重新生成差异。
-
可能已经跑题了,但是...你为什么不切换到不同的 SCM?
-
@pablo :走开 - SVN 非常适合它的用途。您选择的 SCM 不一定是每个人的最佳选择。
-
@JoshM。是的,svn 太棒了,以至于每个主要的 oss 项目都放弃了它……早在 2008 年!