【发布时间】:2011-02-16 22:36:50
【问题描述】:
我怀疑我的合并信息已损坏,但我不确定。有谁知道我将如何做出决定以及有哪些资源可以帮助解决问题?
这就是问题所在。我的团队最近转向敏捷并使用功能分支(实际上是故事分支),不同的团队同时处理相同的资源。随着故事达到高度就绪状态,团队合并到主干。由于缺少更改、意外更改和冲突,合并需要几天或几周的时间。我们谈论的是 5-10 人的团队,工作量/流失率似乎很高。
人们使用这种合并模式 a) PULL - 合并主干到分支、解析、测试、提交 b) PUSH - 合并分支到主干、解析、测试、提交 c) 重新创建分支(或者通常创建新的故事分支并在完成后丢弃旧的分支)
到此结束时,分支和树干应该对齐。
我们看到的问题:
- 主干到分支合并期间未报告的更改会显示在后续的分支到主干中
- 合并期间 svn:mergeinfo 属性发生冲突
- 文件丢失,但对分支中添加的新文件进行本地编辑并推送到主干
- 传入 + 本地删除(主干和分支上删除的文件显示为冲突)
(1) 不应该发生。从分支到主干的拉动应该使两者在主干上已经发生的所有更改同步。分支到主干合并中的更改是主干上发生的更改。因此,在第一次合并中,它们应该传播到分支,但没有传播。这表明 mergeinfo 数据中的损坏会“隐藏”主干更改。
(2) 不应该发生。 SVN 应该管理合并跟踪中的更改。这也表明 mergeinfo 数据损坏
(3) 不应该发生。这是在分支上添加新文件的情况。它应该显示为添加到主干的新文件。这也表明合并信息数据损坏。
(4) 我认为这是一个 SVN 错误,我们无法修复它。不过,如果这是我们唯一的问题,我会很高兴
我们目前在 svn 1.5.x 服务器上,客户端使用 svn 1.6.x 和 svn+ssh 进行连接。我们计划升级到最新最好的 SVN,因为一些修复可能会影响我们的问题。
不过,看起来我们的 mergeinfo 数据确实是错误的。
- 不报告所有更改的合并
- mergeinfo 属性合并中的冲突
有什么好地方可以让我开始寻找吗?
【问题讨论】:
-
SVN 1.6.11 客户端可能是我的答案。我使用了 wandisco 升级站点(其中摇滚)并且合并地狱不那么令人讨厌
-
您是否使用“--reintegrate”标志进行“推送”合并?事实上,你在它之后有一个“解决”步骤,这表明你不是。我找不到具体的文档说没有“--reintegrate”的双向合并不能工作,但是“--reintegrate”的存在表明svn的合并不能胜任任务。
标签: svn merge branch agile-processes