我想用meld来查看修订版之间的区别.我安装了meld然后在项目目录中执行:
svn diff -r 2165:2182 --diff-cmd meld
Run Code Online (Sandbox Code Playgroud)
但它引发了以下错误:
Index: app/models/college_friends_count.rb
===================================================================
svn: E200012: Process 'meld' failed (exitwhy 2)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里出了什么问题?
我相信E200012意味着底层进程(meld)以非零退出代码退出.很多diff工具都是为了表示diff操作的结果(0 =没有差异1 =差异等).
虽然我的meld版本似乎没有使用非零退出代码,但我知道colordiff会在目录爬行"svn diff"中停止SVN,就像上面的示例一样.在没有任何测试更改的文件上尝试它.
一个很好的解决方法是制作你自己的diff命令,假设你称之为meld_svn:
#!/bin/bash
meld "$6" "$7"
exit 0
Run Code Online (Sandbox Code Playgroud)
所以我们正在做的是忽略meld的退出代码,并退出我们自己的退出代码(不会停止SVN).参数周围的引号意味着其中包含空格的文件名不会破坏您的脚本.
使其可执行,然后编辑〜/ .subversion/config并将diff-cmd设置为"meld_svn".这对colordiff非常有用,如果meld确实退出非零退出代码,应该解决你的问题.
我希望有所帮助.
| 归档时间: |
|
| 查看次数: |
10162 次 |
| 最近记录: |