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

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top