如果我在SVN中进行更新导致冲突,SVN为我提供了一系列处理每个文件冲突的选项,包括接受文件,启动外部合并程序或推迟冲突解决。
如果我选择推迟解决冲突,我该如何让SVN重复冲突解决过程。具体来说,我如何让SVN重新选择接受文件或启动外部合并工具?
[更新]回应Thomas和Skippy的回复。
感谢您的回答。因此,SVN似乎没有重新运行冲突解决过程的命令。我个人认为这很糟糕。
SVN冲突解决过程的一个选择是选择我希望保留的文件。在SVN中执行此操作具有以下优点:SVN本身然后处理复制和删除相应文件,这使得用户无需直接处理文件系统并减少出错的可能性。
SVN冲突解决过程提供的另一个选择是启动外部合并编辑器的选项。可以在SVN配置文件中配置已启动的编辑器及其设置方式。这非常方便,因为这意味着用户无需手动将三个文件加载到外部合并编辑器中。
除此之外,它还没有被编码是否有任何理由SVN不提供重启冲突解决过程的工具? (也许通过仅使用路径参数调用svn resolve)。这样做的另一个原因是,它可以提供解析一个文件的选择,或者在工作副本上递归执行功能,或者在工作副本中提供子树。
答案 0 :(得分:4)
在svn 1.8.8中 如果您对感兴趣的文件运行“svn resolve”,svn将提供交互式冲突解决方案
答案 1 :(得分:2)
你根本无法让它重新提供选择。你别无选择,只能选择以下几个:
“手动”合并冲突的文本(通过检查和编辑 文件中的冲突标记。)
将其中一个临时文件复制到工作文件的顶部。
运行svn revert以丢弃所有本地更改。
一旦你解决了冲突,你需要让Subversion知道 运行svn已解决。这将删除三个临时文件和 Subversion不再认为文件处于状态 冲突。[6]
答案 2 :(得分:0)
SVN不会再问你了。但是,从命令行运行svn stat
时,您应该看到冲突的文件列表。这些将被标记为“C”,就像有一个修改过的文件,它会出现“M”,或者如果有一个文件没有被添加,它会出现“?”。
现在您必须在每个文件上手动运行svn resolve
。