6

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

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

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

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

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

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

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

4

3 回答 3

4

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

于 2015-08-04T09:20:50.953 回答
2

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

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

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

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

一旦你解决了冲突,你需要通过运行 svn resolved 让 Subversion 知道。这将删除三个临时文件,Subversion 不再认为该文件处于冲突状态。 [6]

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

于 2012-05-04T09:37:11.167 回答
0

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

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

于 2012-05-04T09:39:07.017 回答