Wir haben versehentlich den Ordner "Tags" aus unserem Subversion-Repository gelöscht, in dem wir nur ein bestimmtes Tag löschen wollten. Was ist der einfachste Weg, um den Ordner "Tags" zurückzubekommen?
Wir verwenden TortoiseSVN als unseren Client und ich dachte, wenn ich zum Repo-Browser gehe und das Protokoll anzeige, wird es so etwas wie "Änderungen aus dieser Revision zurücksetzen" geben, ähnlich wie in einem ähnlichen Dialogfeld auf Ihrer Arbeitskopie. Aber es gibt dort keinen solchen Befehl ...
quelle
für die Kommandozeilen-Enthusiasten:
Suchen Sie zuerst die Revisionsnummer, unter der Sie gelöscht haben:
Angenommen, Sie stellen fest, dass das Verzeichnis in Revision 999 gelöscht wurde (übrigens: Es ist möglicherweise einfacher, die Revisionsnummer mit dem SVN-Repo-Browser zu finden.)
Kopieren Sie den Ordner aus der Revision minus 1
voilà du bist fertig!
In Ihrem Fall könnte dies sein:
quelle
Die meisten dieser Antworten werden bis zu einem gewissen Grad funktionieren, aber die richtige Antwort ist Daniels. Führen Sie eine umgekehrte Zusammenführung durch. Auf diese Weise behalten Sie den Versionsverlauf.
svn merge -r R1:R2
Dabei ist R1 die Revision, an der Sie sich befinden, und R2 die Revision, die die gelöschte Datei / den gelöschten Ordner enthält.
quelle
svn copy
.Sie müssen eine umgekehrte Zusammenführung durchführen .
Einzelheiten dazu (und so ziemlich alles, was Sie jemals mit SVN tun möchten oder müssen) finden Sie im offiziellen Buch online .
quelle
Nach Raudis Antwort, die nach dieser Überarbeitung für mich funktioniert hat.
Einige SVN-Clients benötigen möglicherweise die mit dem Revisionsparameter -r angegebene Versionsnummer, anstatt @ nach dem Ordner wie folgt zu verwenden:
quelle
-r <revision>
funktioniert dies. Wenn Sie jedoch versuchen, den Ordner direkt wiederherzustellen, müssen Sie ihn verwenden@<revision>
. Andernfalls wird angezeigt, dass die Datei nicht gefunden wurde.Goto
Repository Browser
Ihrerrepository
rechten Maustaste auf den übergeordneten Ordner , in dem gelöschten Ordner vorhanden war. Wählen Sie nunShow Log
im übergeordneten Ordner die vorherige Version aus, in der Sie den Löschvorgang ausgeführt haben. Sie haben eine Liste und klicken mit der rechten Maustaste auf den Ordner aus den Revisionsinformationen und wählenUpdate to this Revision
.Du bist fertig
quelle