
Entonces... perdimos nuestro repositorio SVN. Por circunstancias desafortunadas, tampoco tenemos un respaldo viable.
¿Qué hacer? ¿Simplemente hacer una "exportación svn" de alguien con la actualización más reciente y comenzar de nuevo? ¿Hay alguna forma de recuperar algún historial? ¿O conectar nuestras cajas locales a un nuevo servidor?
Respuesta1
Si todo lo que tiene es un pago, tiene una instantánea del código, pero no tiene historial.
Puedes crear un nuevo repositorio a partir de eso. En cuanto a que los pagos existentes se conecten al nuevo repositorio después de haberlo configurado, probablemente sea más problemático de lo que vale la pena. Será más fácil crear un nuevo repositorio a partir del pago más antiguo y luego confirmar los cambios de los pagos más nuevos como actualizaciones.
En cuanto a recuperar el historial, no veo cómo sea posible sin un volcado del repositorio (a través del volcado de svnadmin) en algún momento. Incluso un volcado antiguo le brindaría cualquier historial que haya desde la creación del repositorio hasta el lugar donde se realizó el volcado.
¿Quizás alguien usó git-svn en tu repositorio en algún momento? Eso podría haber preservado algo de historia, pero volver a incluirlo en un nuevo repositorio de Subversion podría no ser fácil.
La recuperación de datos es costosa, pero también podría ser una opción si el dispositivo de almacenamiento en el que se encontraba su repositorio no ha sido destruido físicamente o sobrescrito destructivamente (y no era un SSD).
Respuesta2
Si realmente perdió su repositorio, sin copias de seguridad, entonces sí, desapareció. No existe magia que pueda restaurar datos verdaderamente perdidos.
Entonces, si tiene una copia de trabajo de alguien, puede crear un nuevo repositorio y agregarle los archivos. Pierdes toda la historia (obviamente) pero la historia ya se perdió.
Puede enviar el disco duro a una empresa de recuperación para intentar restaurar los datos. Una vez que tenga el repositorio (o al menos los directorios db/revs y db/revprops), puede volver a crear el repositorio a partir de ellos (copiándolos en un nuevo directorio de repositorio). Si resulta que no tienes toda la base de datos, entonces las cosas serán un poco más complicadas, pero aún es posible restaurar el resto de los datos; es posible que tengas que enviarlos todos a collabnet y obtener ayuda de ellos para restaure los archivos de datos dañados en un repositorio nuevo y funcional.
Ahora, usted dice "exportar svn" de alguien con la actualización más reciente... eso sugiere que la persona tiene una copia de seguridad desde la cual puede exportar. ¿Es este el caso o lo estabas confundiendo con una copia de trabajo?
Respuesta3
Como dice Mark anteriormente, si no tiene un volcado del repositorio (del servidor), no puede construir el historial. Un pago SVN solo contiene la información sobre dónde se retira. Lo siento, eres SOL. Supongo que es por eso que a la gente le gusta el control de fuente distribuida. En nuestra empresa lo configuré para enviar diferencias de svn a amazon s3 dos veces al día.
Respuesta4
Primero: no tener una copia de seguridad de un SVN-Repo es una molestia y nunca debería suceder. Pero a mí me pasó lo mismo. Comencé a agregar miles de archivos nuevamente, archivo por archivo, porque no quiero registrar archivos temporales u otros archivos sin fuente.
Casi toda la historia está perdida. Perono se pierde el último estado de registro! Logré obtener el último estado de registro, por lo que el nuevo repositorio era similar al anterior y también obtuve la última diferencia.
Esta es mi receta:
- haga una copia de seguridad de su pago local
- limpie su caja local, consulte:captura de pantalla svn-cleanup_to_last_state
- crear nuevo repositorio
- comprar nuevo repositorio en una nueva carpeta vacía
- copie la copia antigua limpia en una carpeta nueva
- agregar simplemente todos los archivos
- cometerlo
- sobrescriba su nueva carpeta de pago con la copia de seguridad de 1.
ahora tienes todos los archivos como antes, con la última diferencia y solo los archivos versionados, como antes.