我怀疑我有腐败的Mergeinfo,但我不确定。有人知道我如何做出决心以及有什么资源来帮助解决问题?

这是问题。我的团队最近搬到了敏捷,并使用特色分支(真正的故事分支),不同的团队同时在同一来源上工作。随着故事达到高度准备就绪,团队合并为后备箱。由于缺少变化,意外变化和冲突,这些合并耗时数天或几周。我们谈论的是5-10人组成的团队,而努力/流失似乎很高。

人们使用这种合并模式a)拉动 - 拉动躯干到分支,解决,测试,提交b)推动 - 将分支机构合并到陷阱,解决,测试,提交c)重新创建分支(或通常创建新的故事分支机构和因为完成了)

到此结束时,分支和躯干应保持对齐。

我们看到的问题:

  1. 在后续分支机构到潮流中显示的中继线与分支合并期间未报告的更改
  2. SVN的冲突:合并期间的合并属性
  3. 缺少文件,但是在分支中添加的新文件上的本地编辑并将其推到中继线
  4. 传入 +本地删除(在中继和分支上删除的文件作为冲突)

(1)不应该发生。从分支到中继线的拉力应使两者同步,以便在中继线上的所有更改。分支机构合并的更改是中继线上发生的变化。因此,在第一个合并中,他们应该已经传播到分支,但没有。这表明Mergeinfo数据中的损坏将“隐藏”中继线发生变化。

(2)不应该发生。 SVN应管理合并跟踪中的更改。这也指出了Mergeinfo数据中的损坏

(3)不应该发生。这是分支上添加的新文件的情况。它应该显示为添加到中继线的新文件。这也表明合并信息数据中的损坏。

(4)我相信这是一个SVN错误,我们无法解决此问题。仍然,如果这是我们唯一的问题,我会很高兴

我们当前使用SVN 1.6.X和SVN+SSH进行连接的SVN 1.5.X服务器。我们计划进入最新,最出色的SVN,因为一些解决方案可能会影响我们的问题。

尽管如此,看起来我们的Mergeinfo数据似乎是错误的。

  • 合并不报告所有更改
  • 合并属性合并中的冲突

我有什么好地方开始寻找吗?

有帮助吗?

解决方案

我对SVN分支/合并进行了一些实验,发现在某些情况下合并不起作用 - 例如,中继的更改被覆盖。因此,如果您继续使用SVN进行功能分支,那么您将处于痛苦的世界中。

我对GIT进行了类似的实验,但我还没有找到一种方法来获得不正确合并。如果团队/管理人员可以接受搬到git,我强烈建议使用它。

其他提示

由于类似的情况,我们遇到了类似的问题,并且很大程度上解决了它们。

主要的是:

如果您要在创建分支之后从树干合并到分支,则需要与分支提交(使用SVN合并 - 仅记录)标记中继线树干回到树枝回到树干中。

显然,这最终将更改转换为后来的树干 - >分支提交后进行的中继,倾向于引起巨大的冲突(尤其是如果您在中继中创建了新文件或目录,则尤其是树的冲突),等等。

因此,我们的过程是在创建后切勿将中继线同步到分支(短寿命分支),或者执行以下操作:

  • BRINK B分支
  • 承诺树干和分支
  • 将后备箱重新融合到分支机构并提交(解决冲突,但没有任何更改,甚至可以编译)
  • 立即进行SVN合并 - 仅记录中继线到分支委员会修订版
  • 解决分支机构的任何其他问题并继续开发
  • 完成后,从分支重新整合到后备箱。

我发现: http://www.collab.net/community/subversion/articles/merge-info.html 弄清楚我们做错了什么时会有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top