Pregunta

Hemos eliminado accidentalmente la carpeta 'etiquetas' de nuestro depósito de la subversión en el que sólo se intentó eliminar una etiqueta específica. ¿Cuál es la forma más fácil de obtener la carpeta 'etiquetas' de vuelta?

Utilizamos TortoiseSVN como cliente y pensé que cuando voy en el registro navegador de repositorios y el espectáculo, habrá algo así como "revertir los cambios hechos en esta revisión" de manera similar a lo que se puede ver en un diálogo similar en su copia de trabajo . Pero no hay tal orden no ...

¿Fue útil?

Solución

Sólo tienes que copiar la carpeta eliminada de vuelta de una revisión anterior.

En el navegador de repositorios, haga clic en el botón etiquetado cabeza (en la esquina superior derecha) para mostrar a una revisión que aún existe la carpeta, a continuación, haga clic derecho en la carpeta y seleccione "Copiar a ..." y entrar en el ruta no desea que la carpeta para ser re-creado (probablemente el mismo camino que ya está en el cuadro de texto).

Otros consejos

para los entusiastas de la línea de comandos:

  • en primer lugar encontrar el número de revisión, donde pasó su borrado:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

dice que encuentra que el directorio se ha eliminado en la revisión 999 (Por cierto: puede que le resulte más fácil encontrar el número de revisión con el navegador SVN repo)

  • copiar la carpeta de revisión menos 1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

voilà ya está!

en su caso esto podría ser:

    svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"

La mayoría de estas respuestas trabajará para un grado, pero la respuesta correcta es Daniel. Hacer una fusión inversa. De esa manera usted mantener el historial de versiones.

svn merge -r R1:R2

donde R1 es la revisión que usted está, y R2 es la revisión que contiene el archivo / carpeta eliminada.

Usted tendrá que hacer un fusión inversa .

Para más detalles sobre cómo hacerlo (y casi cualquier cosa que usted va a querer o necesitar hacer con SVN), el libro oficial está disponible línea .

A raíz de la respuesta de Raudi que funcionó para mí después de esta revisión.

Algunos clientes SVN puede ser que necesite el número de revisión se especifica con el parámetro -r revisión en lugar de utilizar @ después de la carpeta de la siguiente manera:

svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"

Goto Repository Browser de su repository, haga clic derecho en la carpeta principal donde su carpeta eliminada existió. Ahora, Show Log de la carpeta principal y seleccione la revisión anterior donde se cometió la operación de eliminación. Vas a tener una lista y haga clic derecho en la carpeta de la información de revisión y seleccione Update to this Revision.

Usted está hecho

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