Subversion – zurücksetzen, rollback auf ältere Revision/Versionsstand

Wer schon mal vor dem Problem Stand, dass man sämtliche Änderungen seit einem bestimmten Zeitpunkt,Revision verwerfen möchte wird folgenden Tipp gut gebrauchen können, es gibt mehrere Varianten , wie man das Repository auf den Stand eine bestimmten Revision bringt, z.B. ist es möglich das aktuelle ausgecheckte Repository auf einen vorherigen Stand zu aktualisieren, z.B. über Tortoise oder svn merge. Nachteil beider Varianten gegenüber der dump Variante:

  • Repository muss ausgecheckt werden bzw. ein Merge durchgeführt werden
  • erst nach einem erneuten commit ist der Stand „zurückgerollt“
  • der Revisionsstand wird erhöht und die Änderungen wurden im Log festgehalten, so dass Speicherplatz verbraten wird
  • bei einem großen Repository dauert es sehr lange

Nun die, meiner Meinung nach, bessere Variante via svnadmin dump.

Im folgenden 4 Befehle, die reichen um zu einem bestimmten Stand (z.B. Revision 25) zurückzukehren:

  1. svnadmin dump –revision 0:25 /repo/Repositoryname/ > /root/Repositoryname.dmp
  2. mv /repo/Repositoryname /repo/Repositoryname-backup
  3. svnadmin create /repo/Repositoryname
  4. svnadmin load /repo/Repositoryname/ < /root/Repositoryname.dmp

1 Erzeugt einen dump des Repositorys vom ersten commit bis zur Revision 25

2 Benennt das Original Repository um

3 Legt ein frisches Repository an

4 Importiert das Backup des originalen Repositorys bis zum Stand 25

Nachteil dieser Variante: sie kann nur von jemanden durchgeführt werden, der shell Zugriff auf den Subversion Server hat.

2 Thoughts on “Subversion – zurücksetzen, rollback auf ältere Revision/Versionsstand

  1. wITTus on 1.10.2008 at 23:39 said:

    Super! Danke 😉

  2. marvin on 30.1.2010 at 18:20 said:

    „svnadmin dump –revision“ sollte glaub ich eher „svnadmin dump -–revision“ heißen, sonst gibts – zumindest bei meiner svn version einen fehler 😉

Schreibe einen Kommentar

Post Navigation