Frage

Wir haben versehentlich gelöscht die ‚Tags‘ Ordner aus unserer Subversion Repository, in dem wir bestimmt nur einen bestimmten Tag zu löschen. Was ist der einfachste Weg, die ‚Tags‘ Ordner zurück?

Wir verwenden TortoiseSVN als Kunde und ich dachte, wenn ich an den Repo-Browser und zeigen log gehen, es so etwas wie „revert Änderungen dieser Revision“ sein wird, ähnlich zu dem, was Sie in einem ähnlichen Dialog auf Ihrer Arbeitskopie sehen . Aber es gibt keinen solchen Befehl gibt ...

War es hilfreich?

Lösung

Kopieren Sie einfach den gelöschten Ordner wieder aus einer früheren Revision an.

Im Repository Browser, klicken Sie auf die Schaltfläche HEAD (an der oberen rechten Ecke) zu einer Revision zeigen, dass es den Ordner noch existiert, dann mit der rechten Maustaste auf den Ordner und wählen Sie „Kopieren nach ...“ und geben Sie die Pfad dort wollen Sie den Ordner neu erstellt werden (wahrscheinlich den gleichen Weg, der bereits in dem Textfeld ist).

Andere Tipps

für die Befehlszeile-Enthusiasten:

  • zunächst die Versionsnummer finden, wo Ihre löschen passiert:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

sagen Sie feststellen, dass das Verzeichnis, in Revision 999 gelöscht (Btw: Sie könnte es einfacher finden, die Revisionsnummer mit dem SVN-Repo-Browser zu finden)

  • kopieren Sie den Ordner aus Revision minus 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

voilà Sie sind fertig!

in Ihrem Fall könnte dies sein:

    svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"

Die meisten dieser Antworten werden zu einem gewissen Grad funktionieren, aber die richtige Antwort ist Daniels. Führen Sie einen Reverse-merge. Auf diese Weise halten Sie die Version der Geschichte.

svn merge -r R1:R2

wobei R1 der Revision, dass Sie sich auf, und R2 ist die Revision, die die gelöschte Datei / Ordner enthält.

Sie müssen eine Reverse-merge tun.

Für Einzelheiten darüber, wie es (und so ziemlich alles andere würde Sie jemals brauchen wollen oder mit SVN zu tun) zu tun, das offizielle Buch ist verfügbar Online-.

auf Hend von raudi Antwort, die für mich nach dieser Revision gearbeitet.

Einige SVN-Clients könnten die Revisionsnummer müssen angegeben die -r revision Parameter verwendet wird anstelle der Verwendung von @ nach dem Ordner wie folgt:

svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"

Goto Repository Browser Ihrer repository der rechten Maustaste auf den übergeordneten Ordner, in dem gelöschte Ordner existierte. Nun Show Log des übergeordneten Ordner, und wählen Sie die vorherige Version, wo Sie den Löschvorgang verpflichtet. Sie erhalten eine Liste und der rechten Maustaste auf den Ordner aus der Revision Info und wählen Sie Update to this Revision haben.

Fertig sind wir

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top