Hier wird davon ausgegangen, dass das Verzeichnis des SVN-Projekts /data/svn/project ist und wir die Datei „trunk/test.exe“ und das Verzeichnis „trunk/notallowed/“ ausschließen möchten. Die Schritte lauten wie folgt und der ausgeführte SVN-Befehl ( im bin-Verzeichnis des svn-Installationsverzeichnisses) lautet wie folgt:
# Exportieren Sie zunächst die gesamte SVN-Bibliothek
svnadmin dump /data/svn/project > project_original.dump
# Schließen Sie dann unnötige Dateien in der Datei project_original.dump aus und generieren Sie eine neue Dump-Datei
Geben Sie project_original.dump | ein
# Als nächstes erstellen Sie ein neues SVN-Projekt und importieren die obige Dump-Datei in ein neues Projekt
svnadmin erstellt /data/svn/project_new
svnadmin lädt /data/svn/project_new < project_new.dump
Löschen Sie abschließend das ursprüngliche Projektverzeichnis und ändern Sie project_new in project. Es ist zu beachten, dass der Dump-Befehl alle Änderungen und Verlaufsdatensätze im SVN-Projekt exportiert, sodass die exportierte Dump-Datei groß und die Importzeit relativ lang ist.
Löschen Sie einige Ordner oder Dateien im SVN-Repository vollständig serverseitig
Wenn Sie einen Ordner oder eine Datei im SVN-Repository vollständig löschen möchten, können Sie beispielsweise diese Methode verwenden:
Beispiel: Angenommen, der SVN-Bibliothekspfad lautet E:/svn/project und die Verzeichnisstruktur in der Bibliothek lautet
Qualitätssicherung/Kofferraum
Software/Tags/test.exe
Löschen Sie die Datei test.exe im Verzeichnis Software/Tags/
Die Schritte sind:
Löschen Sie die SVN-Bibliothek und filtern Sie mit svndumpfilter die zu löschenden Dateien heraus. Erstellen Sie eine neue SVN-Bibliothek und laden Sie die verarbeiteten Dateien in die neue SVN-Bibliothek.
>svnadmin dump E:/svn/project > aaa.dump
> geben Sie aaa.dump | ein
>svnadmin erstellt E:/svn/project_new
>svnadmin lädt E:/svn/project_new < bbb.dump
Benennen Sie dann das neue Projekt_neu in Projekt um. Das vorherige Projekt kann verschoben oder mit einem anderen Namen versehen werden. (Da das in TRAC verwendete SVN-Verzeichnis auch Projekt ist.)
Diese Methode kann dazu führen, dass ein bestimmter Ordner oder eine Datei im SVN-Repository vollständig gelöscht wird, wenn nicht viele Versionen im SVN-Repository vorhanden sind. Wenn jedoch zu viele Versionen im SVN-Repository vorhanden sind, ist beim Dump nicht genügend Speicherplatz vorhanden die Version. Die Version kann nicht gesichert werden. Es wird funktionsunfähig. Zu diesem Zeitpunkt muss eine weitere Festplatte installiert werden, die den Speicherplatz ausreicht.
So stellen Sie gelöschte Dateien oder Ordner mit SVN wieder her
Verwendung von TortoiseSVN:
1. Verwenden Sie in der lokalen Arbeitskopie TortoiseSVN->Protokoll anzeigen, um den Verlauf des Repositorys anzuzeigen. Sie können die Suche verwenden.
2. Suchen Sie die Version, in der die Datei oder der Ordner gelöscht wurde, und klicken Sie in der Protokollmeldung mit der rechten Maustaste auf „Änderungen dieser Revision rückgängig machen“.
3. Die Datei oder der Ordner wird in der lokalen Arbeitskopie wiederhergestellt. Wenn es versehentlich gelöscht wurde, übertragen Sie es einfach in das Repository.
Verwendung des Subclipse-Plug-Ins für Eclipse:
1. Verwenden Sie Team->SVN-Repository-Verlauf anzeigen, um den Verlauf des Repositorys anzuzeigen.
2. Suchen Sie die Version, in der die Datei oder der Ordner gelöscht wurde, und klicken Sie mit der rechten Maustaste auf „Auf Version XX zurücksetzen“.
3. Die Datei oder der Ordner wird in der lokalen Arbeitskopie wiederhergestellt. Wenn es versehentlich gelöscht wurde, übertragen Sie es einfach in das Repository.