【问题标题】:Why SVN does not merge trunk when trunk subdirs have been merged?为什么当主干子目录已合并时,SVN 不合并主干?
【发布时间】:2012-01-30 09:46:47
【问题描述】:

SVN merge 遇到了一个非常烦人的问题。我想将主干合并到一个分支中。通常,这很简单,但这一次,由于大量的变化,我不得不一步一步地处理,SVN 似乎并不理解这一点。

假设我在修订版 A 创建了一个分支,现在存储库位于修订版 B。主干包含几个子目录,例如 S1、S2。为了让您了解复杂性,B 是 A 之后的约 1000 次修订,主干中有许多更改。有很多冲突和树冲突。

为了分步处理,我选择先合并S1,再合并S2,然后希望B的合并立即生效。我使用了命令svn merge https://myrepo/trunk/S1 myBranchWorkingCopy/S1

S1 合并很痛苦,但很成功。 S2 也一样。

满怀希望,我推出了svn merge --dry-run https://myrepo/trunk myBranchWorkingCopy 的试运行,等待只看到更新的属性。我太热心了……取而代之的是,我为 S1 或 S2 解决的所有冲突(树或文本)都必须再次解决……

我的结论是

如果主干包含 S1 + S2,则合并(S1)+合并(S2)!=合并(主干) ?!?

我错过了什么吗?我如何告诉 SVN 每个子目录都已合并,并且主干应该立即合并?

谢谢

【问题讨论】:

    标签: svn svn-merge


    【解决方案1】:

    它应该通过合并回带有 --record-only 标志的子文件夹来工作,这样 Subversion 就知道两边都有更改。请参阅 Subversion 手册的 the Advanced Merging 部分中的“保持重新集成的分支保持活跃”部分。

    (也许先在一个小样本上试一试。)

    【讨论】:

    • 不知道该功能(并且喜欢它)。问题当然是开始合并的不同目录。没有什么可以阻止你这样做......
    猜你喜欢
    • 2014-03-09
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    相关资源
    最近更新 更多