$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中的空白字符?
$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中的空白字符?
您可以使用第三方差异程序。 svn diff
有一个--diff-cmd
参数,它允许您使用我使用的工具,如gvimdiff。
我有一个相当简单的脚本,它将参数SVN传递到第三方diff程序中,并显示差异在哪里。
#! /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,您也可以过滤差异中的空白 - 就像大多数差异程序一样。
好吧,我想出了一个简单的解决办法
svn diff my.object > foo.txt
然后使用:
od -c foo.txt
它显示了新行字符,我发现一个有\n
和其他有\r\n
。
只是管道输出到首选程序。例如。
$ svn diff my.object | OD -c
酷,它显示新的线字符? – Joelio
我猜...如果你使用':set list',你会看到制表符和'$'标记EOL,所以你可以在一行的末尾看到额外的空白。如果你有':set fileformat = unix',如果在末尾有一个Windows EOL字符,你会在行尾看到'^ M'。请记住,我恰好使用GVIM。几乎可以使用任何***程序***编辑器(而不仅仅是文本编辑器)并获得类似的结果。 –