如何在使用svn生成diff时忽略编码约定/样式?

tex*_*ens 5 svn diff coding-style

我们如何在使用svn生成diff时忽略编码约定?

详细说明,我不想区分以下两种编码风格

while (variableIter.hasNext())
{
    lModel = variableIter.next();
}
Run Code Online (Sandbox Code Playgroud)

while (variableIter.hasNext()) {
    lModel = variableIter
   .next();
}
Run Code Online (Sandbox Code Playgroud)

如果我运行svn diff,我会得到以下差异:

 -            while (variableIter.hasNext())
 -            {
 -                lModel = variableIter.next();
 +            while (variableIter.hasNext()) {
 +               lModel = variableIter
 +               .next();
Run Code Online (Sandbox Code Playgroud)

但我不希望这成为差异的一部分.我希望svn忽略这种编码风格的差异.那么,svn中有什么选项可以帮我这么做吗?或者是否有一个脚本或我可以在svn生成的差异上运行的东西只吐出真正的变化而不是编码样式的变化?

TIA

Hei*_*bug 1

我不知道 svn 是否有内置函数可以做到这一点。不管怎样,你可以在提交之前使用一些工具来统一缩进你的代码,比如 C 语言的缩进工具 (http://www.gnu.org/software/indent/)。

或者您可以尝试使用此选项启动 diff: svn diff -x -w

  • @texens - 我明白,我的建议为时已晚,但切勿在一次提交中将重构和重新格式化与其他任何内容混合在一起。此外,您使用 Eclipse 自动格式化工具更改的“格式不良”代码可能带有您已破坏的额外语义。是的,采用先前的修订,仅应用格式,提交,然后应用更改并再次提交。不要破解 Subversion :) (3认同)