update tutorial tortoise subversion revertir repositorio funciona español eliminar como cambios archivos svn folder undo delete-directory

tutorial - SVN deshacer eliminar antes de confirmar



svn tutorial español (7)

Si elimina un directorio de una copia de trabajo de SVN, pero aún no se ha comprometido, no es obvio cómo recuperarlo. Google incluso sugiere "svn undo delete before commit" como una consulta común cuando escribe "svn undo d", pero los resultados de la búsqueda no son útiles.

editar: me gustaría una solución que funcione en subversión 1.4.4


1) hacer

svn revert . --recursive

2) analizar salida para errores como

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

3) llame a svn para cada uno de los directorios de error:

svn up dir1/dir2


La solución más simple que pude encontrar fue eliminar el directorio padre de la copia de trabajo (con rm -rf, no svn delete), y luego ejecutar svn update en el abuelo. Por ejemplo, si eliminó a / b / c, rm -rf a / b, cd a, svn up. Eso trae todo de vuelta. Por supuesto, esta es solo una buena solución si no tiene otros cambios no comprometidos en el directorio principal que desea conservar.

Espero que esta página esté en la parte superior de los resultados la próxima vez que googlee esta pregunta. Sería incluso mejor si alguien sugiriera un método más limpio, por supuesto.


Lo que funcionó para mí es

svn revert --depth infinity deletedDir


Para convertirlo en un trazador de líneas uno puede intentar algo como:

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


Puede eliminar la carpeta y actualizar el directorio padre antes de confirmar:

rm -r some_dir

svn update some_dir_parent


Realice una operación de reversión (recursiva) desde un nivel superior al directorio que eliminó.


svn revert deletedDirectory

Aquí está la documentación para el comando svn revert .

EDITAR

Si deletedDirectory se eliminó utilizando rmdir y no svn rm , tendrá que hacer

svn update deletedDirectory

en lugar.