在Unix上使用xxdiff和svn diff命令

时间:2014-07-24 13:35:25

标签: unix svn

我尝试过使用命令

svn diff --diff-cmd xxdiff some_file.cpp

但它给了我错误信息"无效选项 - u"

经过一些谷歌搜索,我尝试使用"扩展",并将其设置为空白,如下所示:

svn diff --extensions "" --diff-cmd xxdiff some_file.cpp

为了摆脱那些有效的工作,但是xxdiff抱怨了一个" -L"选项。我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分:1)

为了弄清楚传递给svn diff的确切内容,我在我的本地目录中创建了一个名为' svn-xxdiff'只有一行:" echo $ @",然后运行如下:

svn diff --diff-cmd ./svn-xxdiff some_file.cpp

这向我展示了传递给xxdiff的参数如下:

-u -L some_file.cpp (revision 1234) -L some_file.cpp (working copy) .svn/text-base/some_file.cpp.svn-base some_file.cpp

注意:" some_file.cpp (revision 1234)"被认为是一个单一的论点,我想它是因为它来自" -L",如果我错了,请纠正我。

通过这些信息,我创建了一个非常快速的解决方法。在我的svn-xxdiff脚本中,我刚刚更改了#34; echo $ @"到:

xxdiff --title1 "$3" --title2 "$5" $6 $7 

将该文件弹出到$ PATH目录(如/ bin /),你应该能够将xxdiff与svn一起使用,并且标题将适当地反映出来。我不确定我是如何修改这个脚本以获得三维差异的,我对这些脚本的经验较少,但是如果其他人想建议修改它,请做。

答案 1 :(得分:1)

xx-svn-diff somefile.cpp

Details

相关问题