我开始在 Linux 上使用 Subversion。 svn diff
给出了一个非常神秘的 View ——对眼睛非常、非常不友好。我如何解释它的输出?更重要的是,有没有办法查看 vimdiff 那种简洁风格的差异,两个文件将并排打开?
最佳答案
编辑文件 $HOME/.subversion/config
使其包含以下行:
diff-cmd = <your favorite diff application>
一些 diff 应用程序支持 svn。例如,diff-cmd = meld
应该可以正常工作。但是,vimdiff
不是其中之一。原因是 svn diff
将要比较的文件作为第 6 和第 7 个参数,而不是像往常一样作为第 1 和第 2 个参数进行比较。所以大多数人在这种情况下所做的是:
创建包装器脚本:
#!/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
环境变量的路径。因此指定完整路径很有用。
关于linux - 如何在 svn 中以 vimdiff 样式查看 svn diff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866286/