Löschen Sie alle Dateien in einem Subversion-Checkout ignoriert
-
30-09-2019 - |
Frage
Wie kann ich alle Dateien löschen, die in einem Subversion-Checkout ignoriert werden? Effektiv, um es auf das Äquivalent einer unberührten Kasse zu bringen.
Lösung
Ich benutze dieses Skript, wenn ich eine Arbeitskopie reinigen will. Es entfernt alle unbekannten und ignoriert Dateien.
svn status --no-ignore | awk '$1=="?"||$1=="I" { print $2 }' | xargs -i rm -rf {}
Andere Tipps
Wenn TortoiseSVN können Sie Check for modifications
, Show ignored files
, Rechtsklick und löschen.
karoberts' Lösung funktioniert nicht auf Mac OS X (Snow Leopard). Genauso wenig wie ein anderer Befehl, den ich auf einem Blog gefunden
ich
xargs: illegale Option - i
und
xargs: illegale Option - d
ist.
Dies funktioniert auf Mac (angepasst von karoberts'):
svn status | awk '$1=="?"||$1=="I" { print $2 }' | xargs rm -rf
Sie möchten zunächst der Zustand der Dateien ignorieren umkehren (ref Wie in TortoiseSVN? für Details I auschalten eine Datei tun) und dann können Sie löschen und die Änderungen aus Ihrem Arbeitsbereich methinks verpflichten zurück.
Hier ist eine andere Art und Weise tun.
svn status --no-ignore | grep "^[\?I]" | sed 's%^........%%' | xargs -d "\\n" rm -rv