Ich habe einen Ordner, der c:\websites\test
Ordner und Dateien enthält, die aus einem nicht mehr vorhandenen Repository ausgecheckt wurden. Wie kann ich Subversion dazu bringen, die Verfolgung dieses Ordners und aller Unterordner und Dateien zu beenden?
Ich weiß, dass ich den .svn
Ordner einfach löschen könnte , aber es gibt viele Unterordner in vielen Ebenen.
Antworten:
Wenn Sie TortoiseSVN verwenden, exportieren Sie einfach in den aktuellen Speicherort der Arbeitskopie und die .svn-Ordner und -Dateien werden entfernt.
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Aktualisierte Antwort für Subversion 1.7:
In Subversion 1.7 wurde die Arbeitskopie umfassend überarbeitet. Es gibt nur einen .svn-Ordner, der sich in der Basis der Arbeitskopie befindet. Wenn Sie 1.7 verwenden, ist das Löschen des .svn-Ordners und seines Inhalts eine einfache Lösung (unabhängig von der Verwendung von TortoiseSVN oder Befehlszeilentools).
quelle
Unter Linux funktioniert dies:
quelle
Versuchen Sie es mit svn export .
Sie sollten in der Lage sein, so etwas zu tun:
Und dann löschen Sie einfach die alte Arbeitskopie.
TortoiseSVN verfügt auch über eine Exportfunktion , die sich genauso verhält.
quelle
svn: E000002: Can't stat '/.classpath': No such file or directory
Wenn Sie Windows ausführen, können Sie in diesem Ordner nach suchen
.svn
und alle auflisten. Durch Drücken von Ctrl+ Awerden alle ausgewählt, und durch Drücken von Löschen werden alle lästigen Subversion-Inhalte entfernt.quelle
Unter Linux lautet der Befehl:
quelle
Ich habe festgestellt, dass Sie nicht einmal an einen temporären Speicherort kopieren müssen. Sie können eine tun
und die .svn - Dateien werden entfernt in situ , die anderen Dateien als verlässt. Sehr praktisch und weniger unübersichtlich.
quelle
Ohne Subshells unter Linux zum Löschen von
.svn
Ordnern:quelle
Keine dieser Antworten war für meine Situation zufriedenstellend. Ich bin auf Subversion 1.8 und hatte eine Arbeitskopie, die nur eine einzige hatte
.svn
Ordner im allerersten Ordner hatte, root. Ich wollte jedoch einige Zweige aus der Arbeitskopie entfernen.Egal was ich getan habe, jedes Mal, wenn ich ein 'Update' ausführte, wurden diese Dateien wiederhergestellt und alle zurückgebracht. Ich wollte sie nicht aus dem Repository entfernen, sondern nur von meinem Computer - aber ich musste den Rest der Arbeitskopie auf dem neuesten Stand halten (konnte also nicht einfach den .svn-Ordner entfernen).
Lösung?
svn update --set-depth exclude <dir>
Dies ist ein clientseitiges "Update", das ein bestimmtes Verzeichnis ausschließt. Es finden Sie in den Handbüchern unter svnbook.com . Kurz gesagt, es beschreibt dies als:
Bei TortoiseSVN können Sie dasselbe auch tun, indem Sie mit der rechten Maustaste auf den gewünschten Ordner klicken, auf klicken
Update to revision...
und dann die Aktualisierungstiefe auf einstellenExclude
, wie in diesem Screenshot dargestellt:quelle
Es hat gut funktioniert für mich:
quelle
mkdir -p ';echo Hi Johnny;/.svn'
- in diesem Fall sollte der {} Aufruf von find trotzdem funktionierenVerwenden Sie den
svn export
Befehl:Alle Dateien unter Versionskontrolle werden exportiert. Stellen Sie sicher, dass Sie nichts verpasst haben.
quelle
Entfernen Sie einfach den .svn-Ordner im gewünschten Ordner, dann wird das Steuerelement automatisch entfernt.
quelle
Unter Windows können Sie Ihrem Explorer einen Quicklink zum Kontextmenü hinzufügen. Starten Sie einfach dieses Registrierungsskript:
Dadurch wird Ihrem Kontextmenü ein Element mit dem Namen "SVN-Ordner löschen" hinzugefügt. Dadurch werden alle .svn-Ordner in diesem Ordner und alle Unterordner gelöscht.
Quelle (deutsch): http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
quelle
Sie können "svn export" verwenden, um eine Kopie dieses Ordners ohne svn-Daten zu erstellen, oder Sie können diesen Ordner hinzufügen, um die Liste zu ignorieren
quelle
Für diejenigen, die NetBeans mit SVN verwenden, gibt es die Option 'Subversion> Export'.
quelle
Es gibt auch ein nettes kleines Open Source-Tool namens SVN Cleaner, das dem Windows Explorer-Kontextmenü drei Optionen hinzufügt:
quelle
Unter Windows 7 kann man einfach den Projektordner öffnen und nach ".svn" suchen, wenn versteckte Dateien aktiviert sind, und alle gefundenen .svn-Ordner löschen.
quelle
.svn
Verzeichnisse nicht mehr verstreut vorhanden sind. Weitere Informationen finden Sie unter subversion.apache.org/docs/release-notes/1.7.html#wc-ngÜberprüfen Sie dies unter http://www.hacktrix.com/how-to-delete-svn-folders-from-your-project-on-windows-linux-and-mac
quelle
Die Antwort ist überraschend einfach - exportieren Sie den Ordner in sich selbst ! TortoiseSVN erkennt diesen Sonderfall und fragt, ob Sie die Arbeitskopie nicht versionieren möchten. Wenn Sie mit Ja antworten, werden die Steuerungsverzeichnisse entfernt und Sie haben einen einfachen, nicht versionierten Verzeichnisbaum.
quelle
Eine andere (einfachere) Linux-Lösung:
quelle
Wenn Sie denken, dass Sie mit einem einfachen magischen Befehl gewinnen könnten, sind Sie gescheitert! SVN ist wirklich knifflig und kommt immer irgendwie mit einer neuen Fehlermeldung in Xcode zurück. Versprich früher oder später ... also musst du es klug machen!
Wie Sie wissen, wird unter Xcode regelmäßig eine Datei im Projektfenster auf der linken Seite gelöscht. Wenn Sie es verpasst und irgendwie im Finder gelöscht haben, sind Sie in Schwierigkeiten. Große Schwierigkeiten! Aber Sie könnten es lösen und Freizeit haben, wenn Sie es gut machen.
Zunächst müssen Sie den SVN-Verweis auf die Datei oder den Ordner löschen, bevor Sie ihn tatsächlich löschen können
Wenn Sie die Datei / den Ordner einfach aus dem Papierkorb zurücklegen oder den letzten Schritt beim Löschen rückgängig machen könnten, dann ...
Gehen Sie zum Terminal - ja, dem guten alten Terminal - und gehen Sie zu diesem Ort. Geben Sie am besten einfach cd ein und ziehen Sie den Ordner / die Datei zum Terminal. Sie werden etwas Ähnliches bekommen
Sie könnten überprüfen, wo Sie sind
Befehl, der Ihre Dateien auflistet.
Dann müssen Sie die SVN-Referenz mit einem SVN-Befehl löschen:
svn delete --keep-local fileName_toDelete
Dadurch wird die Datei aus dem SVN-Repository gelöscht, ABER Sie müssen sie manuell im Finder löschen.
quelle
Ich benutze rsync:
quelle
NetBeans IDE-Benutzer können dies wie folgt tun:
Wählen Sie das Projekt aus
Im Dialogfeld
Du kannst jetzt zu Git wechseln :)
quelle
Meine Idee ist, den .svn-Ordner zu entfernen und dann alle anderen Dateien in einen neuen Ordner zu verschieben. So einfach ist das.
quelle
Wenn Sie das Windows-Betriebssystem verwenden, gehen Sie zu Ihrem Ordner und überprüfen Sie, ob versteckte Dateien geöffnet sind. Anschließend können Sie den SVN- Ordner dort sehen. Entfernen Sie einfach diesen Ordner.
quelle
svn export
funktioniert gut, aber ich denke das ist:Es entfernt es aus Ihrem lokalen Repository.
quelle
Wenn Sie die Shell zum Löschen von .svn-Ordnern verwenden, benötigen Sie das Argument -depth , um zu verhindern, dass der Befehl find in das gerade gelöschte Verzeichnis gelangt und Fehlermeldungen wie z
Infolgedessen können Sie den folgenden
find
Befehl verwenden:quelle
Über eine Windows-Befehlszeile:
quelle
Verwenden Sie Folgendes:
svn rm --keep-local <folder name>
um den Ordner und alles darin zu entfernen.svn rm --keep-local <folder name>/*
um den Ordner zu behalten, aber alles im Ordner zu entfernen.Hier ist ein Beispiel dafür, was passiert:
quelle
Unter Windows 10 müssen wir zu gehen
Windows Explorer
und dann zu gehenView
und das Kontrollkästchen für aktivierenView hidden files
.Navigieren Sie dann zu dem Ordner, mit dem die SVN im Windows Explorer verknüpft ist, und löschen Sie den
.svn
Ordner / die Datei.quelle
.svn
wird, fragt jedoch nach allen Unterordnern. Bitte lesen Sie die Frage sorgfältig durch.