2009-10-04 15 views
6

Estoy a punto de actualizar un servidor SVN de la versión 1.5.5 a la 1.6.5 - todo está bien con la actualización real, pero estoy un poco confundido sobre la actualización de los repositorios reales.Actualización del servidor de Subversion de 1.5.5 a 1.6.5 - volcado/actualización/recarga, pasos exactos?

He leído en algunos lugares (here, here), que es mejor para volcar y recargar los depósitos en lugar de utilizar svnadmin upgrade. Supongo que debería volcar, actualizar el servidor y volver a cargar los volcados; sin embargo, ¿debo borrar los archivos viejos del repositorio antes de cargarlos? Si es así, ¿cuál es la mejor manera de hacer esto?

Si, antes de estropear por completo mi sistema de control de versiones, alguien podría darme un paso a paso rápido, ¡sería realmente útil!

Saludos, Marcos

Respuesta

10

hay una quick step-by-step en el FAQ de Subversion:

  1. Apague svnserve, Apache, y cualquier otra cosa que pueda estar el repositorio.
  2. svnadmin dump /path/to/repository > dumpfile.txt, utilizando la versión X de svnadmin.
  3. mv /path/to/repository /path/to/saved-old-repository
  4. Ahora actualice a Subversion Y (es decir, compile e instale Y, reemplazando X).
  5. svnadmin create /path/to/repository, utilizando la versión Y de svnadmin.
  6. svnadmin load /path/to/repository < dumpfile.txt, otra vez usando la versión Y de svnadmin.
  7. Copie los scripts de gancho, etc., del repositorio anterior al nuevo.
  8. svnserve Reiniciar, Apache, etc.

more details on dumping and loading en el libro de Subversion. supongo que estudiaste el subversion 1.6 release notes.

+0

Sí, he revisado las notas de la versión, gracias, eso fue exactamente lo que estaba buscando . –

+1

Cuidado, esos vertederos son grandes. Usted * podría * usar la opción --deltas con svn dump, lo que reducirá de alguna manera el tamaño de su archivo de volcado. Sin embargo, es más lento y, alternativamente, podrías descomprimir gzip sobre la marcha (sin --deltas), lo que será aún más eficiente. – RedGlyph

+0

Nota: ¡gracias! –

1

Si vas a hacerlo de esa manera, entonces probablemente desea volcar, actualizar, borrar y volver a crear el repositorio y luego cargarlo de nuevo.

No puedo decir que haya tenido problemas solo con la actualización, aunque puede terminar con una estructura repo menos óptima.

+0

Entonces, ¿sugeriría que también podría usar la actualización? –

+0

A menos que sea un repositorio particularmente grande o complicado, eso es lo que haría. Volcar y cargar puede llevar mucho tiempo. –

+0

Estoy de acuerdo. Sin embargo, debe asegurarse de tener una copia de seguridad antes de realizar la actualización. Hacer una descarga es una forma de crear una copia de seguridad. – sbi

4

No, no necesita volcar/cargar para actualizar, 1.6 fue diseñado específicamente para ser una actualización fácil usando solo svnadmin upgrade. Lo hice, funcionó, estoy feliz.

El release notes dice explícitamente que no hay necesidad de volcar/cargar el repositorio.

Haría una copia de seguridad de todos modos (por si acaso), y luego haré la actualización recomendada. Luego empacaría los archivos repo (svadmin pack) para hacer copias de seguridad futuras más rápido y SVN realizar más rápido.

+0

las notas de la versión también dicen (http://subversion.tigris.org/svn_1.6_releasenotes.html#bdb-forward-deltas): "Si desea alcanzar el estado más optimizado de un repositorio anterior [BDB], usted todavía necesita realizar un volcado y carga del repositorio ". también vea los enlaces en la pregunta. –

+0

Nadie debería usar un repositorio de BDB. Si lo hace, aún necesita volcar y cargar el repositorio .... en un FSFS uno :) – gbjbaanb

Cuestiones relacionadas