如何确定svn:mergeinfo是否已损坏以及如何解决?

Pet*_*ahn 7 svn merge branch agile-processes

我怀疑我有腐败的mergeinfo,但我不确定.有谁知道我如何做出决定以及有哪些资源来帮助解决问题?

这是问题所在.我的团队最近转向敏捷并使用功能分支(真正的故事分支),其中不同的团队同时处理相同的源.随着故事达到高度准备状态,团队合并到主干.由于缺少更改,意外更改和冲突,合并需要数天或数周.我们正在谈论5-10人的团队,努力/流失似乎很高.

人们使用这种合并模式a)PULL - 合并trunk到分支,解析,测试,提交b)PUSH - 合并分支到trunk,解析,测试,提交c)重新创建分支(或者通常创建新的故事分支和因为它已经完成了

到此为止,树枝和树干应该对齐.

我们遇到的问题:

  1. 在主干到分支合并期间未报告的更改显示在后续的分支到主干中
  2. 合并期间svn:mergeinfo属性上的冲突
  3. 文件丢失,但在分支中添加的新文件的本地编辑并推送到主干
  4. 传入+本地删除(在主干和分支上删除的文件显示为冲突)

(1)不应该发生.从分支到主干的拉动应使两者同步,以便在主干上进行所有更改.分支到中继合并的变化是主干上发生的变化.因此,在第一次合并时,它们应该传播到分支但不会.这指向mergeinfo数据中的损坏,这将"隐藏"主干更改.

(2)不应该发生.SVN应该管理合并跟踪中的更改.这也表明mergeinfo数据中存在损坏

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

(4)我认为这是一个SVN错误,我们无法解决这个问题.如果这是我们唯一的问题,我会很开心

我们目前在svn 1.5.x服务器上,客户端使用svn 1.6.x和svn + ssh进行连接.我们计划推出最新最好的SVN,因为一些修复可能会影响我们的问题.

不过,看起来我们的mergeinfo数据确实是错误的.

  • 不报告所有更改的合并
  • 合并mergeinfo属性时发生冲突

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

cha*_*lup 2

我对 SVN 分支/合并做了一些实验,我发现在某些情况下合并不起作用 - 例如主干的更改被覆盖。因此,如果你继续使用 SVN 来实现功能分支,你将陷入痛苦的境地。

我用 git 做了类似的实验,但我还没有找到一种方法来获得错误的合并。如果团队/管理层可以接受迁移到 git,我强烈建议使用它。

  • 我想我应该让自己更清楚:我尝试在 SVN 中中断合并,第二次尝试成功,但我无法在 Git 中创建损坏/不正确的合并。因此,您可以尝试跟踪合并信息问题的根本原因,或者您可以更有效地利用时间并切换到更适合分支的版本控制系统。 (2认同)
  • 团队选择迁移到 git,合并问题似乎消失了。现在,我们将使用该团队作为试点,以确定 git 是否在整个组织范围内可行。 (2认同)