Frage

Wenn Sie ein Verzeichnis aus einer SVN-Arbeitskopie löschen, aber noch nicht gebunden, es ist nicht klar, wie es zurück zu bekommen. Google schlägt sogar als eine gemeinsame Abfrage „svn Undo vor commit löschen“, wenn Sie „svn undo d“ geben, aber die Ergebnisse sind nicht hilfreich.

edit: Ich würde eine Lösung wie die in arbeitet Subversion 1.4.4

War es hilfreich?

Lösung

svn revert deletedDirectory

Hier ist die Dokumentation der svn revert Befehl.


EDIT

Wenn deletedDirectory gelöscht wurde mit rmdir und nicht svn rm, was Sie tun müssen, um

svn update deletedDirectory

statt.

Andere Tipps

1) zu tun

svn revert . --recursive

2) Parse-Ausgang für Fehler wie

"Failed to revert 'dir1/dir2' -- try updating instead."

3) Aufruf für jeden Fehler Verzeichnisse svn up:

svn up dir1/dir2

Was für mich gearbeitet ist

svn revert --depth infinity deletedDir

Führen Sie einen (rekursive) Revert Betrieb aus einer Höhe über das Verzeichnis gelöscht.

Um es in einem machen Liner Sie so etwas wie versuchen:

svn status | cut -d ' ' -f 8 | xargs svn revert

Die einfachste Lösung die ich finden konnte war das übergeordnete Verzeichnis aus der Arbeitskopie zu löschen (mit rm -rf, nicht svn löschen) und dann svn update in den Großeltern lief. Zum Beispiel, wenn Sie a / b / c gelöscht, rm -rf a / b, cd a, svn up. Das bringt alles zurück. Natürlich ist dies nur eine gute Lösung, wenn Sie keine anderen unbestätigten Änderungen im übergeordneten Verzeichnis haben, die Sie behalten möchten.

Hoffentlich wird diese Seite an der Spitze der Ergebnisse, die ich diese Frage beim nächsten Mal Google. Es wäre noch besser, wenn jemand eine sauberere Methode vorgeschlagen, natürlich.

Sie können den Ordner entfernen und das übergeordnete Verzeichnis aktualisieren, bevor ich:

rm -r some_dir

svn update some_dir_parent

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