2010-05-07 41 views
6

我怀疑我有损坏的mergeinfo,但我不确定。有谁知道我该如何做出决定,并且有哪些资源可以帮助解决问题?如何确定svn:mergeinfo是否损坏,我将如何修复它?

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

人使用此合并模式 一)PULL - 合并树干到树枝,解决,测试,提交 二)PUSH - 合并分支到主干,解决,测试,提交 C)重新创建分支(或通常创建新的故事分支,并且因为完成而丢弃旧的分支)

在此结束时分支和主干应该对齐。

的问题,我们看到:

    期间未报告
  1. 变化中继线到分支合并在SVN随后分支到主干
  2. 冲突显示:在合并过程中合并信息的属性
  3. 文件丢失,但本地编辑新文件添加到分支并推送到主干
  4. 传入+本地删除(在主干和分支上删除的文件显示为冲突)

(1)不应该发生。从分支到中继线的拉动应该使两者同步,以用于中继线上的所有更改。分支到主干合并的更改是发生在主干上的更改。所以在第一次合并时,它们应该已经传播到分支,但没有。这指向mergeinfo数据中会“隐藏”中继线更改的损坏。

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

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

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

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

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

  • 梅杰斯不报告所有的合并信息的属性

的好地方,我开始寻找的合并更改

  • 冲突?

  • +0

    SVN 1.6.11客户端可能是我的答案。我使用了wandisco升级站点(这是岩石),并且合并地狱不那么好玩 – 2010-05-07 21:50:14

    +0

    您是否在使用“--reintegrate”标志进行“推送”合并?事实上,在你向我暗示你不是的情况下,你有一个“解决”的步骤。我找不到具体的文件说双向合并没有“--reintegrate”不能工作,但“--reintegrate”的存在表明svn的合并否则无法完成任务。 – slowdog 2010-10-30 19:33:56

    回答

    2

    我做了一些SVN分支/合并的实验,并且发现合并时有些情况不起作用 - 例如从trunk中改变被覆盖。所以,如果你继续使用SVN进行功能分支,你将会处于痛苦的世界。

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

    +0

    我听到了,但mergeinfo属性上的冲突似乎表明存在更深层次的问题 – 2010-05-07 19:38:08

    +1

    我认为我应该弄清楚自己:我试图在SVN中打破合并,并成功进行第二次尝试,但是我无法创建在Git中损坏/不正确的合并。因此,您可以尝试追踪mergeinfo问题的根本原因,或者您可以更有效地利用时间并切换到更多支持分支的版本控制系统。 – chalup 2010-05-07 22:55:48

    +1

    在我操作的时间范围内转移到git不是一个选项。所以,我需要解决我的问题在SVN – 2010-05-10 13:49:22

    2

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

    主要的一个是这样的:

    如果您正在合并成从分支创建之后主干您的分支,你需要标志主干与分支提交(用svn合并--record仅-),否则当您尝试重新集成回主干,它会尝试将主干的提交合并到分支回到主干。

    这显然最终还原更改后trunk->分支后行李箱作出承诺,往往(如果你创建了一个新的文件或目录树干树特别是冲突)等

    所以导致大规模冲突我们的流程是要么永远不会同步躯干成一个分支,它已经创建(之后短暂的分支正常工作),或执行以下操作:从主干

  • 承诺主干和分支
    • 分枝b
    • 重新集成中继到分支和提交(解决冲突,但不作任何更改,甚至编译)
    • 立即执行svn合并 - 只记录中继到分支提交版本
    • 修复任何其他问题分支并继续开发
    • 完成后从分支重新集成到主干。

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

    +0

    另请参阅http://stackoverflow.com/questions/3309602/subversion-branch-reintegration-in-v1-6 – Malcolm 2011-08-31 21:35:45

    相关问题