$svn diff my.object
- <description>reverse reference to the Update Center Enrollment Application task.
+ <description>reverse reference to the Update Center Enrollment Application task.
它必须是空格/隐藏字符或行尾问题....但是我该如何弄清楚呢?
只需管道输出到首选程序。例如
$ svn diff my.object | od -c
好吧,我想出了一个简单的解决方法
svn diff my.object > foo.txt
然后使用:
od -c foo.txt
它显示了新的行字符,我发现一个有\n
,另一个有\r\n
。
您可以使用第三方差异程序。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
而且,我会看到这样的东西:
您可以看到第 158 行有空格差异。使用 GVIM,您也可以过滤掉 diff 中的空白——就像大多数 diff 程序一样。