2013-10-11 3 views
4
$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?

ответ

1

Вы можете использовать стороннюю программу 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 

И, я вижу что-то вроде этого:

enter image description here

Вы можете увидеть линии # 158 имеет белый разницу пространства , С помощью GVIM вы также можете отфильтровать пробелы в diff тоже, как и большинство программ diff.

+0

круто, он показывает новые штрихи? – Joelio

+0

Я думаю ... Если вы ': set list', вы увидите символы табуляции и' '' отметка EOL, чтобы вы могли видеть лишнее пробел в конце строки. Если у вас есть ': set fileformat = unix', вы увидите'^M' в конце строки, если в конце будет символ Windows EOL. Имейте в виду, что я просто использую GVIM. Вы можете использовать почти любой *** программный *** редактор (по сравнению с простым текстовым редактором) и получать аналогичные результаты. –

2

Ну, я понял простую работу вокруг

svn diff my.object > foo.txt

затем использовать:

od -c foo.txt

Это показывает новые символы строки, и я нашел один имел \n и другие имеет \r\n.

1

Только выход трубы в предпочтительную программу. Например.

$ svn diff my.object | спосо -c

0

Более читаемый подход может быть:

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

Это как-то работал только при использовании colordiff.

Смежные вопросы