【问题标题】:SVN. Retry interactive conflict resolutionSVN。重试交互式冲突解决
【发布时间】:2012-05-04 09:26:14
【问题描述】:

如果我在 SVN 中进行更新导致冲突,SVN 为我提供了一系列选项来处理每个文件的冲突,包括接受任一文件、启动外部合并程序或推迟冲突解决。

如果我选择推迟解决冲突,我如何让 SVN 重复冲突解决过程。具体来说,我如何让 SVN 重新提供接受文件或启动外部合并工具的选择?

[更新] 回应 Thomas 和 Skippy 的回复。

感谢您的回答。因此,看起来 SVN 没有重新运行冲突解决过程的命令。我个人认为这很糟糕。

SVN 冲突解决过程的选项之一是选择我希望保留的文件。在 SVN 中这样做的好处是 SVN 本身会处理相应文件的复制和删除,这避免了用户直接弄乱文件系统并减少出错的可能性。

SVN 冲突解决过程提供的另一个选择是启动外部合并编辑器的选项。启动的编辑器及其设置方式可以在 SVN 配置文件中进行配置。这非常方便,因为这意味着用户不必手动将这三个文件加载到外部合并编辑器中。

除了它根本没有被编码之外,还有什么理由 SVN 不提供重新启动冲突解决过程的工具? (也许通过仅使用路径参数调用 svn resolve)。这很好的另一个原因是它可以选择解析一个文件,或者在工作副本上递归运行,或者工作副本中的子树。

【问题讨论】:

  • 没错,它扼杀了非交互式选项的便利性,以节省完成合并然后解析的时间。 :(

标签: svn


【解决方案1】:

在 svn 1.8.8 如果您对感兴趣的文件运行“svn resolve”,svn 将提供交互式冲突解决方案

【讨论】:

    【解决方案2】:

    您根本无法让它重新提供选择。您别无选择,只能选择以下几种:

    • “手动”合并有冲突的文本(通过检查和编辑 文件中的冲突标记)。

    • 将其中一个临时文件复制到您的工作文件之上。

    • 运行 svn revert 以丢弃所有本地更改。

    解决冲突后,您需要通过以下方式通知 Subversion 运行 svn 解决。这将删除三个临时文件和 Subversion 不再认为文件处于 [6]

    (来自http://chestofbooks.com/computers/revision-control/subversion-svn/Postponing-Conflict-Resolution-Tour-Cycle-Resolve-Pending.html

    【讨论】:

    • 还有第四个选项 - 您可以使用 .mine.rOLDREV.rNEWREV 文件手动启动合并程序,并将基本文件名(版本化文件)作为合并输出。这就是 svn 在启动外部合并程序时所做的。
    【解决方案3】:

    SVN 不会再问你了。但是,当您从命令行运行svn stat 时,您应该会看到一个冲突文件列表。这些将用“C”标记,就像如果有一个修改过的文件会出现一个“M”,或者如果有一个尚未添加的文件会出现一个“?”。

    现在您必须在每个文件上手动运行svn resolve

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 2022-10-14
      • 2021-06-26
      • 1970-01-01
      • 2013-05-23
      • 2013-10-27
      • 2010-09-11
      相关资源
      最近更新 更多