2008-12-11 27 views
64

Tengo un servidor que aloja mi base de código de Subversion. Ese servidor es actualmente un cuadro Windows Server 2003, y mi administrador de TI desea actualizarlo al Windows Server 2008.Mover un repositorio de Subversion a otro servidor

Esto significa que voy a necesitar mover mi repositorio de Subversion mientras el servidor se construye y me preguntaba cuáles son las mejores prácticas para mover el repositorio a un nuevo servidor.

Parece que, buscando en línea, el método recomendado es utilizar:

svnadmin dump /path/to/repository > repository-name.dmp 

y luego usar:

svnadmin create repository-name 
svnadmin load repository-name< repository-name.dmp 

Para importar el repositorio.

¿El método anterior parece ser el mejor?

+1

así es como lo hago – cciotti

+3

es la 'forma recomendada', así que ¿por qué dudas de que es un buen enfoque? ¿qué significa "mejor", de todos modos? – hop

+0

¿Estás mirando? ing para una versión más corta? – orezvani

Respuesta

57

Sí, descargar y cargar el repositorio es una manera de hacerlo. Copiar la carpeta del repositorio directamente es una opción viable si, y solo si, está seguro de que nadie accederá al repositorio mientras el proceso de copia está en progreso (o puede hacer una "copia activa" del repositorio, que puede manejar estos casos) de una manera segura).

También tendrá que o bien re-pago y envío todas sus copias de trabajo, o utilizar los SVN cambiar de comandos, que simplemente reescribe URL. Una forma más conveniente es usar el comando Reubicar de TortoiseSVN, que reduce el riesgo de cometer un error durante el proceso de reubicación.

+0

Gracias, En realidad, debería ser bueno con la reubicación porque el servidor al que se mudará será el mismo IP del servidor que el que tiene actualmente. –

+0

Gracias, luché un poco con la copia directa porque no tenía mi raíz SVNServe configurada correctamente, pero una vez que lo hice, parece que la copia directa funcionó muy bien. Gracias. –

+0

La copia directa funcionó muy bien en mi caso. ¡Gracias! – Buggabill

4

Si está utilizando el repositorio de tipo de sistema de archivos, puede simplemente tomar literalmente la carpeta que contiene su repositorio y moverla. Si está cambiando de servidor, entonces es probable que necesite cambiar la ubicación en la que su directorio de trabajo local busca el repositorio mediante el comando 'Reubicar'.

27

Mi restaurar guiones son como esto:

svnadmin create repository-name --fs-type fsfs 
svnadmin load repository-name --force-uuid < repository-name.dmp 

La primera línea asegura el repositorio utiliza el FSFS backend (que es recomendado por muchas fuentes, incluyendo éste: How FSFS is Better, y que yo sepa las nuevas versiones de Subversion utilizarlo por defecto). FSFS es el nombre de una implementación del sistema de archivos Subversion.

La segunda línea mantiene el UUID del repositorio, para una transición más fácil (sin el interruptor --force-uuid, la reubicación de la copia de trabajo fallará).

Algunos enlaces:

9

También puede utilizar svnsync para mover el repositorio; de esa manera puede transferir todos los datos sin la necesidad de tomar el repositorio 'anterior'. Esta es también la única forma que conozco para obtener sus datos de los entornos alojados, donde no tiene acceso al shell o acceso a volcar el repositorio.

5

Otra alternativa:

uso svnrdump. http://www.crowbarsolutions.com/backing-up-restoring-a-remote-svn-repository/

"Vas a necesitar aa herramienta llamada svnrdump. Tal como se describe por Apache,“svnrdump replica la funcionalidad de svnadmin dump y la carga svnadmin, pero trabaja en repositorios remotos, en lugar de tener acceso de administrador (sistema de ficheros local) . a la fuente o el destino del repositorio”

1

la forma más sencilla es utilizar:...

svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory 
Cuestiones relacionadas