from - ¿Cómo "recuperar" una carpeta eliminada en Subversion/TortoiseSVN?
svn rename folder (6)
Goto Repository Browser
de su repository
, haga clic derecho en la carpeta principal donde se encuentra su carpeta eliminada . Ahora, Show Log
de la carpeta principal y seleccione la revisión anterior donde cometió la operación de eliminación. Tendrás una lista y harás clic derecho en la carpeta desde la información de revisión y seleccionar Update to this Revision
.
Estás listo
Hemos eliminado accidentalmente la carpeta ''etiquetas'' de nuestro repositorio de Subversion donde solo intentamos eliminar una etiqueta específica. ¿Cuál es la forma más fácil de recuperar la carpeta ''etiquetas''?
Usamos TortoiseSVN como nuestro cliente y pensé que cuando vaya al navegador repo y muestre el registro, habrá algo así como "revertir los cambios de esta revisión" de manera similar a lo que puede ver en un diálogo similar en su copia de trabajo. Pero no hay tal comando allí ...
La mayoría de estas respuestas funcionarán hasta cierto punto, pero la respuesta correcta es la de Daniel. Haz una fusión inversa. De esa forma mantendrás el historial de versiones.
svn merge -r R1:R2
donde R1 es la revisión en la que se encuentra y R2 es la revisión que contiene el archivo o la carpeta eliminados.
Siguiendo la respuesta de Raudi que funcionó para mí después de esta revisión.
Algunos clientes svn pueden necesitar el número de revisión especificado utilizando el parámetro de revisión -r en lugar de usar @ después de la carpeta de la siguiente manera:
svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"
Solo copie la carpeta eliminada de una revisión anterior.
En el navegador del repositorio, haga clic en el botón HEAD (en la esquina superior derecha) para mostrar una revisión donde su carpeta aún existe, luego haga clic derecho en esa carpeta y seleccione "Copiar a ..." e ingrese la ruta allí. quiere que se vuelva a crear la carpeta (probablemente la misma ruta que ya está en el cuadro de texto).
Tendrá que hacer una fusión inversa .
Para obtener detalles sobre cómo hacerlo (y sobre cualquier otra cosa que quieras o necesites hacer con SVN), el libro oficial está disponible en online .
para los entusiastas de línea de comandos:
primero encuentre el número de revisión donde ocurrió su eliminación:
svn log -v http://svnserver/path/to/folderContainingDeletedFolder
Supongamos que encuentra que el directorio fue eliminado en la revisión 999 (por cierto: es posible que encuentre más fácil encontrar el número de revisión con el navegador svn repo)
copiar la carpeta de la revisión menos 1
svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
voilà estás hecho!
En tu caso, esto podría ser:
svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"