Tortoise SVN Repo-Browser
-
22-07-2019 - |
Pregunta
Me preguntaba si hago clic derecho en un archivo en el navegador de repositorios SVN, ¿se elimina permanentemente? ¿Se puede recuperar?
Solución
Esta pregunta / respuesta de SVN FAQ puede interesarle:
¿Cómo elimino completamente un archivo del historial del repositorio?
Hay casos especiales donde usted podría querer destruir toda evidencia de un archivo o commit (Quizás alguien accidentalmente cometió un confidencial documento.) Esto no es tan fácil, porque Subversion está deliberadamente diseñado para Nunca pierdas información. Las revisiones son árboles inmutables que se basan en uno otro. Eliminar una revisión de la historia causaría un efecto dominó, creando caos en todos los subsiguientes revisiones y posiblemente invalidantes todas las copias de trabajo.
El proyecto tiene planes, sin embargo, para algún día implemente un comando
svnadmin obliterate
que cumplir la tarea de forma permanente borrando información. (Ver el problema 516.)Mientras tanto, su único recurso es a
svnadmin dump
su repositorio, luego canalizar el archivo de volcadosvndumpfilter
(excluyendo la ruta incorrecta) en un comandosvnadmin load
.
Si es tan difícil, hay pocas posibilidades de que se pueda hacer fácilmente desde Tortoise SVN ...
(Y no es el objetivo de Source Control ...)
Otros consejos
Descubrirá que solo puede eliminar del navegador Repo cuando esté viendo la revisión HEAD. Esto es idéntico a eliminar un archivo de su copia de trabajo y luego registrar la eliminación. En ambos casos, podrá restaurar desde la revisión anterior.
Eliminar un archivo a través del menú contextual del navegador de repositorios básicamente crea una nueva revisión global donde solo se eliminó ese archivo, por lo que aparece en el registro como tal: siempre puede volver a esa revisión para recuperar el archivo, o usted simplemente puede extraerlo directamente del repositorio en su copia de trabajo.
No ... Eliminar un archivo (incluso utilizando el navegador de repositorios) solo afecta a las copias de trabajo. Sería un sistema de control de revisión bastante malo si no pudiera recuperar un archivo del pasado. En realidad, es bastante difícil modificar archivos en una revisión comprometida, incluso si tiene acceso de root al servidor.
¿No hace clic con el botón derecho solo en algún tipo de menú? Y con SVN es que siempre puedes revertir de todos modos.
Eliminé un directorio de nivel superior del navegador Repo por accidente y la única forma de recuperarlo fue lo siguiente:
- Exportar la carpeta de nivel superior de un historial de versiones anterior
- Cree una nueva carpeta en el repositorio para reemplazar la eliminada.
- Agregue los archivos exportados nuevamente al nuevo directorio (mismo nombre que el anterior)
- Actualice la copia de trabajo, eliminará y luego volverá a agregar los mismos archivos.
Es molesto pero al menos el trabajo y el repositorio volverán a estar sincronizados. El " Revertir cambios de esta revisión " no funcionó para deshacer las eliminaciones de repositorios, solo se revierte en el directorio de trabajo, no en "Deshacer" la eliminación al repositorio.