Si elimina un directorio de una copia de trabajo 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 búsqueda no son útiles.
editar: me gustaría una solución que funcione en subversion 1.4.4
Respuestas:
svn revert deletedDirectory
Aquí está la documentación para el
svn revert
comando.EDITAR
Si
deletedDirectory
se eliminó usandormdir
y nosvn rm
, deberá hacersvn update deletedDirectory
en lugar.
fuente
svn delete
para eliminar el directorio, sino que lo eliminó utilizandormdir
, deberásvn update deletedDirectory
hacerlo en su lugar.1) hacer
2) analizar la salida para errores como
3) llame a svn para cada uno de los directorios de error:
fuente
svn up
que lo revisara, me di cuenta del conflicto, lo hicesvn resolved foo
ysvn status
me dijo que tenía unos 10k archivos marcados comoD
.svn up
ysvn revert
no los recuperé, pero esto resolvió el problema.--recursive
que ayuda a restaurar el contenido de los directorios eliminados.Lo que funcionó para mí es
fuente
Realice una operación de reversión (recursiva) desde un nivel superior al directorio que eliminó.
fuente
Para convertirlo en un trazador de líneas, puede probar algo como:
fuente
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 lo devuelve todo. Por supuesto, esta es solo una buena solución si no tiene otros cambios no confirmados 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 busque en Google esta pregunta. Sería aún mejor si alguien sugiriera un método más limpio, por supuesto.
fuente
Puede eliminar la carpeta y actualizar el directorio principal antes de confirmar:
rm -r some_dir
svn update some_dir_parent
fuente