Wie entferne ich rekursiv .svn-Metadatenordner?

11

Ich habe ein Java-Projekt und es hat ein SVN-Repository verwendet. Jetzt entscheide ich mich, zu GIT zu wechseln.

Das Problem ist jedoch, dass die von mir verwendete SVN-Engine in jedem Ordner des Projekts das .svnMetadatenverzeichnis erstellt hat.

Ich möchte alle Ordner des Projekts von diesem versteckten Ordner bereinigen.

Gibt es einen Terminalbefehl, um im Ordner zu suchen und ihn zu bereinigen?

Ek Kosmos
quelle

Antworten:

20

Sie müssen mit dem cdBefehl in den gewünschten Ordner wechseln und dann den folgenden Befehl schreiben:

find -type d -name '.svn' -exec rm -rfv {} \;

Dadurch werden alle svnDateien aus den aktuellen Verzeichnissen und Unterverzeichnissen entfernt.

Treviño
quelle
3

Eine andere Möglichkeit, dasselbe zu tun, ist:

rm -rf `find. -typ d -name .svn`

Chakra
quelle
1
Ich wünschte, Windows (ich habe das gleiche Problem auf dieser Plattform) hätte Lösungen, die so sauber und einfach waren :(
Steven
Es mag ein Skript in Powershell geben, aber ich benutze kein Windows mehr ;-)
Chakra
Dies schlägt fehl für Verzeichnisse mit Leerzeichen im Namen
Enzotib
2

Wenn es immer noch mit svn verbunden ist, tun svn exportSie es einfach und es kopiert das Projekt ohne svn-Metadaten :)

Matte
quelle
1

Für Windows :

  • Verwenden Sie entweder UnxUtils http://unxutils.sourceforge.net/ mit den vorherigen Antworten
  • oder verwenden Sie die Suche (F3) im Explorer mit ".svn" als Dateinamen, es hat auch bei mir funktioniert
Michel Daviot
quelle
0

Ich habe eine Lösung durch Eingabe von:

find ./ -name ".svn" | xargs rm -Rf
Ek Kosmos
quelle
Dies ist gefährlich, wenn ein
Verzeichnis
Ja. Vorsicht vor Leerzeichen!
Stellen Sie Monica wieder her - ζ--