gpt4 book ai didi

version-control - SVN合并我做错了什么?

转载 作者:行者123 更新时间:2023-12-03 14:54:51 25 4
gpt4 key购买 nike

当带有合并跟踪的 SVN 工作时,它真的很棒,我喜欢它。但它一直在扭曲。我们正在使用 TortoiseSVN。我们不断收到以下消息:

Error: Reintegrate can only be used if revisions 1234 through 2345 were previously merged from /Trunk to the reintegrate source, but this is not the case



作为引用,这是我们使用的方法:
  • 创建分支
  • 分支内开发
  • 偶尔 合并一系列修订版 从树干到分支
  • 当分支稳定时,重新整合一个分支从分支到主干
  • 删除分支

  • 合并一系列修订版 在重新集成操作之前从主干到分支(将范围留空,因此应该是所有修订版),因此分支应与主干正确同步。

    现在,Trunk 有多个与之关联的 SVN 合并跟踪属性。应该是?或者 Reintegrate 不应该添加任何合并跟踪信息?

    我们的流程有问题吗?这使 SVN 无法使用 - 每 3 个重新集成中就有 1 个迫使我潜入并破解合并跟踪信息。

    最佳答案

    当过去从主干到分支完成部分合并时,有时会发生此问题。部分合并是指对整个树执行合并但只提交其中的一部分。这将为您的树中的文件提供与树的其余部分不同步的合并信息数据。
    --reintegrate上面的错误消息应该列出 svn 有问题的文件(至少在 svn 1.6 中是这样)。

    您可以:

  • 使用错误消息中的范围将问题文件从主干手动合并到分支。注意:您必须从范围的开头减去 1,因此您要运行的命令是:
    cd <directory of problem file in branch working copy>
    svn merge -r1233:2345 <url of file in trunk>
    svn commit

  • 如果您确定分支中文件的内容是正确的,并且只想将文件标记为已合并,则可以使用 --record-only标志到 svn merge :
    cd <directory of problem file in branch working copy>
    svn merge --record-only -r1233:2345 <url of file in trunk>
    svn commit

  • (我认为您可以在整个树上使用 --record-only,但我还没有尝试过,您必须绝对确定没有真正的合并需要来自主干)

    关于version-control - SVN合并我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2820275/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com