76 Stimmen

Rollen Sie das gesamte SVN-Repository auf eine ältere Revision zurück

Ich habe mein SVN-Repository durcheinander gebracht und muss jetzt das gesamte Repository von Revision 28 auf 24 zurücksetzen und möchte keinen Umgang mit Diffs oder Konflikten haben. Gibt es einen schnellen und einfachen Weg, dies zu tun? Ich konnte zuvor einzelne Dateien problemlos mit dem Merge-Befehl zurücksetzen - aber in diesem Fall möchte er alle Dateien wieder in das Repository von Revision 28 hinzufügen, obwohl ich sie eigentlich nur löschen möchte.

Ich benutze die Befehlszeile auf einem Linux-System (Bash).

Danke

EDIT

Danke für all die Hilfe! Ich habe es behoben, indem ich:

svnadmin create /svnroot/.fixed
svnadmin dump -r 1:24 /svnroot/ --incremental > dump.svn
svnadmin load /svnroot/.fixed < dump.svn

Dann habe ich das alte Repository an einen Backup-Ort verschoben und das Repository.fixed in das Repository umbenannt.

Nochmals vielen Dank!

4voto

Paul Suart Punkte 6284

Für alle, die TortoiseSVN verwenden, ist die Lösung einfach:

  • Änderungsprotokoll anzeigen
  • Klicken Sie mit der rechten Maustaste auf die Revision, zu der Sie zurückkehren möchten...
  • ...wählen Sie "Zu dieser Revision zurücksetzen"
  • Übernehmen Sie Ihre Änderungen

Mit dieser Methode wird die Versionsgeschichte erhalten (d. h. alle Revisionen, die Sie zurückgesetzt haben).

3voto

nickf Punkte 517253

Sie können einen neuen Checkout einer bestimmten Revision durchführen. http://svnbook.red-bean.com/en/1.1/re04.html

svn co Pfad/zum/meinem/repo -r 24

2voto

neesh Punkte 4948

Wenn sich die Ordnerstruktur Ihrer Anwendung nicht geändert hat, prüfen Sie die alte Revision aus und ersetzen Sie die .svn-Ordner aus der neuesten Revision in die überprüfte alte Revision. Jetzt können Sie die "ältere" Version übermitteln.

1voto

genehack Punkte 126986

Wenn Sie Dateien wirklich vollständig aus dem Repository entfernen möchten, müssen Sie einen svndump in eine Datei durchführen, die Revisionen und/oder Dateipfade filtern, die Sie nicht möchten, ein neues Repository erstellen und den gefilterten Dump in das neue Repository laden. Bevor Sie dies tun, sollten Sie den Abschnitt zur Repository-Wartung im SVN-Buch sorgfältig lesen und sicherstellen, dass Sie das bestehende Repository nicht entfernen, bis Sie sicher sind, dass das neue die gewünschten Dateien enthält.

1voto

Lyndon Punkte 11

Könnten Sie die obersten Verzeichnisse mit svn del löschen und dann svn copy auf sie anwenden:

svn copy svnurl@version svnurl

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X