如何在svn diff中看到空白字符?

时间:2013-10-11 15:32:33

标签: svn diff

 $svn diff my.object 
 -        <description>reverse reference to the Update Center Enrollment Application task.
 +        <description>reverse reference to the Update Center Enrollment Application task.

它必须是一个空格/隐藏字符或行尾问题....但我该怎么弄清楚?

4 个答案:

答案 0 :(得分:2)

好吧,我想出了一个简单的工作

svn diff my.object > foo.txt

然后使用:

od -c foo.txt

它会显示新的行号,我发现其中一个有\n而另一个有\r\n

答案 1 :(得分:2)

只需输出到首选程序。 E.g。

  

$ svn diff my.object | od -c

答案 2 :(得分:1)

您可以使用第三方差异计划。 svn diff有一个--diff-cmd参数,可让您使用我使用的gvimdiff等工具。

我有一个相当简单的脚本,它将参数SVN传递给第三方差异程序,并显示差异所在的位置。

#! /usr/bin/env perl
# mydiff

use strict;
use warnings;

use constant DIFF => qw(mvim -d -f);

my $parameters = $#ARGV;
my $file1 = $ARGV[$parameters - 1];
my $file2 = $ARGV[$parameters];
my $title1 = $ARGV[$parameters - 4];
my $title2 = $ARGV[$parameters - 2];

$ENV{TITLE} = "$title1  -   $title2";
system DIFF, '-c', 'let &titlestring=$TITLE', $file1, $file2;

如果我需要使用它:

$ svn diff --diff-cmd mydiff

而且,我会看到这样的事情:

enter image description here

你可以看到#158行有空格差异。使用GVIM,您也可以过滤掉差异中的空白区域 - 就像大多数差异程序一样。

答案 3 :(得分:0)

更具可读性的方法可能是:

svn diff myfile --diff-cmd colordiff | less -R

只有在使用colordiff时才有效。