0
我发现差异输出是奇怪的,当我设置--diff-cmd=diff
。为什么'svn diff --diff-cmd = diff'输出内部diff格式?
➜ svntest svn diff --diff-cmd=diff -x '' #The cmd `diff` cann't output this format, so strange
Index: a.c
===================================================================
--- a.c (revision 1)
+++ a.c (working copy)
@@ -0,0 +1 @@
+teste
➜ svntest svn diff --diff-cmd=diff -x '-i'
Index: a.c
===================================================================
0a1
> teste
我想上面的两个命令基本上是如下执行,我错了吗?
➜ svntest diff -L 'a.c(revision 1)' -L 'a.c(working copy)' '/Users/hilojack/www/svntest/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base' '/Users/hilojack/www/svntest/a.c'
0a1
> teste
➜ svntest diff -i -L 'a.c(revision 1)' -L 'a.c(working copy)' '/Users/hilojack/www/svntest/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base' '/Users/hilojack/www/svntest/a.c'
0a1
> teste
我得到这个从svn help diff
-x [--extensions] ARG : Default: '-u'. When Subversion is invoking an external diff program, ARG is simply passed along to the program.
颠覆将通过默认PARAMS -u
外部diff程序。
➜ svntest svn diff --diff-cmd=echo
Index: a.c
===================================================================
-u -L a.c (revision 1) -L a.c (working copy) /Users/hilojack/www/svntest/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601890afd80709.svn-base /Users/hilojack/www/svntest/a.c