SVN Undo zu löschen, bevor begehen
-
21-09-2019 - |
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
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