Wie man SVN Diff macht, zeigt nur Änderungen von Leerzeichen ohne Leerzeichen zwischen zwei Revisionen


95

Ich kann Unterschiede zwischen zwei Revisionen mit so etwas wie bekommen

svn diff -r 100:200 > file.diff

Das Problem ist jedoch, dass aufgrund von Änderungen im Leerzeichen viele Zeilen angezeigt werden. Gibt es eine Möglichkeit, nur die Zeilen zu schreiben, die sich tatsächlich erheblich ändern, und nicht nur in Leerzeichen?

Antworten:


95

Sie können verwenden

svn diff -r 100:200 -x -b > file.diff

Wenn Sie alle Leerzeichen ignorieren möchten:

svn diff -x -w | less

Quelle


Ist das neu für 1.6? SVN macht das nie. Ich sollte aktueller bleiben :)
Dan McGrath

4
1.5.4 macht es. Aber: --ignore-space-change, nicht --ignore-space-change
ur.

@ Dan McG. Ich weiß nicht, ob es für 1.6 neu ist, aber Eintrag Nummer 8 unter akatombo.com/de/comments/ignore_whitespace_in_a_subversion_diff schlägt vor, dass es seit 1.4 verfügbar ist
jrbjazz

1
Da EOL auch als Leerzeichen betrachtet werden kann, kann das Hinzufügen -x --ignore-eol-styleerforderlich sein, wenn sich der EOL-Stil zwischen den Revisionen unterscheidet.
Nedim

5
Die Verwendung svn diff -x -wkann manchmal auch nützlich sein, da mehr Leerzeichen ignoriert werden (Alias ​​für Ignorieren aller Leerzeichen)
Kendall

74

Verwenden Sie -x --ignore-space-changeoder -x --ignore-all-space. (Siehe svn -h diff.)


21
svn diff -x -w==svn diff -x --ignore-all-space
chrisg86

7

Sie können einen alternativen diff-Befehl verwenden, indem Sie das Argument --diff-cmd für svn diff verwenden. diff ist ein gutes Dienstprogramm mit vielen Funktionen zum Ignorieren von Leerzeichen.

Beispielsweise:

svn diff --diff-cmd /usr/bin/diff -x "-w"

11
Eigentlich habe ich svn diff --diff-cmd / usr / bin / diff -x "-w" -r 2000: 2100> jj1 verwendet und es funktioniert. danke
umar

@umar: Dies ist der einzige Weg, der für mich zu funktionieren scheint.
Leichtigkeitsrennen im Orbit

7

Beachten Sie, dass Zeilenende in diesem Szenario nicht als Leerzeichen betrachtet wird und dass Folgendes ignoriert werden muss:

svn diff -x --ignore-eol-style [etc...]
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.