使用svn diff时如何获取无上下文

Dav*_*rns 15 svn diff command-line

当我从命令行使用'svn diff'时,它会打印出已更改的行,但也会打印出上下文之前和之后的3行.我更喜欢只看到没有上下文的更改行.我无法确定任何命令行选项,让我让它以这种方式运行.标准'diff'和'cvs diff'默认执行我想要的操作.当然'svn diff'可以做到这一点,但我错过了一些东西.谁知道怎么样?

Dav*_*rns 20

在通过展开查看上面给出的有用链接之后,简短的回答是svn的内置差异无法做到我想要的.您可以告诉它使用标准的外部差异,然后将arg传递给它,告诉它您不需要上下文.我在我的.bashrc中添加了以下别名,如果我使用它,现在一切正常:

alias svndiff='svn diff --diff-cmd=diff -x -U0'
Run Code Online (Sandbox Code Playgroud)

  • `-x`是`svn diff`的扩展参数,它使得紧跟在这里的令牌(这里是`-U0`)被传递给用`--diff-cmd`指定的diff命令,这里是`diff`. (2认同)

小智 7

上面的建议仍然产生上下文格式,但有0行上下文.这仍然不是颠覆之前的传统差异输出.

对我有用的是: svn di --diff-cmd=diff -x --normal

--normal选项(在DIFF与OSX的船舶)给出了一些人喜欢传统的格式.