Ich habe ein Verzeichnis mit vielen Unterverzeichnissen. In jedem Ordner befindet sich ein Subversion-Ordner (.svn).
Gibt es in Windows einen Befehl, der jeden Ordner und jedes Unterverzeichnis durchläuft und den .svn-Ordner löscht?
Oder muss ich ein Skript erstellen oder manuell ausführen?
windows
svn
command-line
user489041
quelle
quelle
Antworten:
Verwenden Sie den
svn export
Befehl, um eine Subversion-Arbeitskopie in eine neue "saubere" Verzeichnisstruktur zu exportieren, die nicht über die.svn
Verzeichnisse verfügt.quelle
svn export
svn export WCPath NewPath
Erstellen Sie eine kleine Batchdatei mit der folgenden Zeile und führen Sie sie aus dem übergeordneten Ordner aus, unter dem sich .svn-Verzeichnisse befinden.
Sie können die folgende Zeile auch direkt an der Eingabeaufforderung eingeben:
quelle
Führen Sie dies in PowerShell aus.
HINWEIS: Dies ist rekursiv. Stellen Sie also sicher, dass Sie sich im richtigen Verzeichnis befinden!
Hier ist der Rest meines Quellbaum-Bereinigungsskripts.
quelle
Wenn Sie alle Unterordner mit dem Namen .svn in Windows löschen möchten, erstellen Sie eine Batchdatei mit folgendem Inhalt:
Speichern Sie es in einer Datei del_All_Dot_SVN_Folders.cmd . Starte es. Sie sind fertig.
Vielen Dank an http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/
Denken Sie daran, dass der obige Code .svn hat, während der Code im Link nur * svn hat. Daher ist es besser, die .svn zu haben, um nicht versehentlich unerwünschte Auswirkungen zu haben.
quelle
Geben Sie einfach .svn in das Suchfeld des Datei-Explorers ein und wählen Sie dann alle Suchergebnisse aus und löschen Sie sie (siehe Kommentar von JB Nizet). Diese Methode kann natürlich auch verwendet werden, um die Verzeichnisse obj und bin schnell zu löschen, z. B. beim Organisieren von SVN-Archiven.
Obwohl OP nach einer Befehlszeilenlösung fragte, gab er auch an, Windows zu verwenden, und erwog eine manuelle Löschung, sodass die Datei-Explorer-Methode weiterhin in Betracht gezogen werden könnte, insbesondere weil sie die schnellste Methode ist und nicht auf Tools wie SVN-Export beruht.
Obwohl OP bereits eine akzeptierte Antwort ausgewählt hat, kann diese Antwort für andere dennoch nützlich sein. Zumindest war es nützlich für mich, einen langjährigen Linux / Windows-Benutzer, der Befehlszeilen bevorzugt und in diesem Beitrag zuerst etwas über das Suchfeld gelernt hat :-)
quelle
Tut mir leid, dass ich zu spät zur Party komme, aber hier ist noch eine in einer Zeile:
for /r %i in (.svn) do rmdir /s /q "%i"
quelle
Ich weiß, dass es zu spät ist, um darauf zu antworten, aber ich denke, es gibt eine einfache Möglichkeit, wenn Eclipse und das SVN-Plugin auf Ihrer Eclipse installiert sind. Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu Team-> Trennen. Es wird ein Popup geöffnet, in dem Sie die erste Option auswählen: "Löschen Sie auch die SVN-Metainformationen aus dem Dateisystem." Dadurch werden alle SVN-Ordner automatisch entfernt, zusammen mit svn-Eigenschaftendateien, die Sie manchmal vergessen, wenn Sie nur .svn-Ordner entfernen!
quelle
Wenn Sie eine Shell ausführen möchten, um .svn-Ordner zu löschen, benötigen Sie möglicherweise das Argument -depth , um zu verhindern, dass der Befehl find in das gerade gelöschte Verzeichnis eingeht und dumme Fehlermeldungen wie z
Um diesen Fehler zu beheben, können Sie den Befehl find wie folgt verwenden:
quelle