Gibt es eine Möglichkeit, * nur * Whitespace Differenzen mit git diff anzuzeigen?

9

Ich möchte alle meine Whitespace-Korrekturen in ihrem eigenen Commit festschreiben, um alles andere vor Leerzeichen zu bewahren.

Es ist einfach, out Whitespace Differenzen mit git diff zu filtern, indem Sie so etwas verwenden

%Vor%

aber wie bekomme ich eine Auflistung von nur Whitespace-Unterschieden?

(Es wäre auch nützlich, eine Liste von Dateien zu erhalten, die nur Whitespace-Unterschiede haben, also kann ich nur add sie alle ohne durchgehen mit git add -p , um die Whitespace auszuwählen Unterschiede. Aber ich nehme an, dass das zweitrangig ist.)

    
iconoclast 26.06.2014, 23:55
quelle

1 Antwort

3

Hier ist eine Möglichkeit, wie Sie es tun könnten:

  • Beginnen Sie mit einem sauberen Arbeitsverzeichnis (z. B. git reset --hard )
  • Verwenden Sie Whitespace Total Fixer , um alle Leerraumfehler zu bereinigen. Es gibt Optionen zum Beheben oder Ignorieren verschiedener Probleme, aber der Standardwert ist möglicherweise korrekt:

    %Vor%
  • git diff zeigt jetzt nur die Leerraumänderungen an

  • Stage die Änderungen, die nur für Leerzeichen gelten, und setze sie fest.
(FWIW, schrieb ich wtf.py ; Tut mir leid, wenn es wie schamlose Eigenwerbung aussieht, aber ich habe es speziell für Situationen wie dieses geschrieben, in denen ein Repository immer wieder mit Whitespace-Problemen behaftet ist, die deine Commits blockieren .)

Sie können auch wtf.py verwenden, um check für Whitespace-Fehler zu verwenden, anstatt sie direkt zu fixieren; Dies hat keine Auswirkungen auf Ihre Dateien, aber es wird eine (hoffentlich hilfreiche) Nachricht an stderr über die gefundenen Probleme ausgeben.

%Vor%     
Dan Lenski 02.09.2014 19:51
quelle

Tags und Links