如何在svn中查看vimdiff风格的svn diff

我开始在Linux上使用Subversion。 svn diff给出了一个非常神秘的观点 – 对眼睛非常非常不友好。 我如何解释它的输出? 更重要的是,有没有一种方法可以查看vimdifftypes的整洁风格的差异,这两个文件将并行打开?

Solutions Collecting From Web of "如何在svn中查看vimdiff风格的svn diff"

编辑文件$HOME/.subversion/config ,使其包含以下行:

 diff-cmd = <your favorite diff application> 

一些diff应用程序支持svn。 例如, diff-cmd = meld应该可以正常工作。 但是, vimdiff 不是其中之一。 原因是svn diff给出的文件要比较为第六和第七个参数,而不是像往常一样和第二个。 所以大多数人在这种情况下做的是这样的:

创建一个包装脚本

 #!/bin/sh /usr/bin/vimdiff ${6} ${7} 

将它保存在$ HOME / bin / svndiffwrap.sh中

不要忘记让它可执行chmod +x $HOME/bin/svndiffwrap.sh

使其成为svn diff命令

$HOME/.subversion/config

 diff-cmd = /home/<username>/bin/svndiffwrap.sh 

注意 :一些svn客户端不支持使用$HOME环境变量的路径。 所以指定完整路径是有用的。

找到它在: http : //blog.tplus1.com/index.php/2007/08/29/how-to-use-vimdiff-as-the-subversion-diff-tool/

vimdiff <(svn diff)

<()被称为进程替换 ,它从svn diff的输出创建一个伪文件,供vimdiff使用。

你可以像这样创建一个shell别名: alias svndiff='vimdiff <(svn diff)'

类似的答案

PS – 这是我尚未找到的最简单的解决方案; 它改变了我的生活(相对来说)!

VCSCommand可以为你做 – 安装插件,导航到文件,然后按<Leader>cv

我使用tkdiff和tkcvs svn。 好的并排视图。

每个文件的基础都存储在.svn文件夹中,以便您可以编写小脚本来启动vimdiff或mgdiff,以便在.svn文件夹中提供一个用于比较文件的路径。 这不会要求您为svn制作vimdiff default diff命令。