SVN。重试交互式冲突解决方案

时间:2012-05-04 09:26:14

标签: svn

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

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

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

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

SVN冲突解决过程的一个选择是选择我希望保留的文件。在SVN中执行此操作具有以下优点:SVN本身然后处理复制和删除相应文件,这使得用户无需直接处理文件系统并减少出错的可能性。

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

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

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

  •   
  • 将其中一个临时文件复制到工作文件的顶部。

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

  •   
     

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

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

答案 2 :(得分:0)

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

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