SVN Deshacer eliminar antes de cometer
-
21-09-2019 - |
Pregunta
Si elimina un directorio de una copia de trabajo de SVN, pero no ha cometido, sin embargo, no es obvio cómo recuperarlo. Google incluso sugiere "SVN Deshacer eliminar antes de cometer" como una consulta común cuando se escribe "SVN deshacer d", pero los resultados son poco útil.
editar: Me gustaría una solución que funciona en la subversión 1.4.4
Solución
svn revert deletedDirectory
Aquí está la documentación para el comando svn revert
.
editar
Si deletedDirectory
se ha borrado utilizando rmdir
y no svn rm
, tendrá que hacer
svn update deletedDirectory
en su lugar.
Otros consejos
1) hacer
svn revert . --recursive
2) de salida de análisis sintáctico para errores como
"Failed to revert 'dir1/dir2' -- try updating instead."
3) llamada svn para cada uno de los directorios de error:
svn up dir1/dir2
Lo que funcionó para mí es
svn revert --depth infinity deletedDir
Hacer un (recursivo) Revertir el funcionamiento de un nivel por encima del directorio que ha eliminado.
Para convertirlo en un un trazador de líneas se puede intentar algo como:
svn status | cut -d ' ' -f 8 | xargs svn revert
La solución más sencilla que pude encontrar fue eliminar el directorio padre de la copia de trabajo (con rm-rf, no elimine SVN), y luego ejecutar svn update en el abuelo. Por ejemplo, si eliminó a / b / c, rm-rf a / b, cd una, SVN arriba. Eso trae todo de vuelta. Por supuesto, esto es sólo una buena solución si no hay otros cambios no confirmados en el directorio padre que desea guardar.
Esperamos que esta página estará en la parte superior de los resultados la próxima vez que Google esta pregunta. Sería aún mejor si alguien sugirió un método más limpio, por supuesto.
Se puede quitar la carpeta y actualizar el directorio padre antes de comprometerse:
rm -r some_dir
svn update some_dir_parent