El comando svnadmin dump
admite las opciones --incremental
y --revision
que permiten producir copias mas pequeñas.
Guardemos primero las versiones de la 1 a la 4:
-bash-3.2$ uname -a Linux banot.etsii.ull.es 2.6.18-128.1.16.el5 #1 SMP Tue Jun 30 06:10:28 EDT 2009 i686 i686 i386 GNU/Linux -bash-3.2$ svnadmin dump --incremental --revision 1:4 repository > dumprep.1to4 * Revisión 1 volcada. * Revisión 2 volcada. * Revisión 3 volcada. * Revisión 4 volcada.y después las de la 5 a la 6:
-bash-3.2$ uname -a Linux banot.etsii.ull.es 2.6.18-128.1.16.el5 #1 SMP Tue Jun 30 06:10:28 EDT 2009 i686 i686 i386 GNU/Linux -bash-3.2$ svnadmin dump --incremental --revision 5:6 repository > dumprep.5to6 * Revisión 5 volcada. * Revisión 6 volcada.
Podemos ahora restaurar el repositorio en otra máquina. Primero creamos el repositorio:
pp2@nereida:~$ svnadmin create mietsiiincrepA continuación restauramos la primera parte:
pp2@nereida:~$ ssh banot cat dumprep.1to4 | svnadmin load mietsiiincrep <<< Nueva transacción iniciada, basada en la revisión original 1 * añadiendo ruta : acme-svn ... hecho. * añadiendo ruta : acme-svn/branches ... hecho. * añadiendo ruta : acme-svn/trunk ... hecho. * añadiendo ruta : acme-svn/trunk/Build.PL ... hecho. * añadiendo ruta : acme-svn/trunk/Changes ... hecho. * añadiendo ruta : acme-svn/trunk/MANIFEST ... hecho. * añadiendo ruta : acme-svn/trunk/Makefile.PL ... hecho. * añadiendo ruta : acme-svn/trunk/README ... hecho. * añadiendo ruta : acme-svn/trunk/lib ... hecho. * añadiendo ruta : acme-svn/trunk/lib/Acme ... hecho. * añadiendo ruta : acme-svn/trunk/lib/Acme/SVN.pm ... hecho. * añadiendo ruta : acme-svn/trunk/t ... hecho. * añadiendo ruta : acme-svn/trunk/t/00.load.t ... hecho. * añadiendo ruta : acme-svn/trunk/t/perlcritic.t ... hecho. * añadiendo ruta : acme-svn/trunk/t/pod-coverage.t ... hecho. * añadiendo ruta : acme-svn/trunk/t/pod.t ... hecho. ------- Commit de la revisión 1 >>> <<< Nueva transacción iniciada, basada en la revisión original 2 * añadiendo ruta : acme-svn/branches/myacme-svn ...COPIED... hecho. ------- Commit de la revisión 2 >>> <<< Nueva transacción iniciada, basada en la revisión original 3 * editando ruta : acme-svn/trunk/Makefile.PL ... hecho. ------- Commit de la revisión 3 >>> <<< Nueva transacción iniciada, basada en la revisión original 4 * editando ruta : acme-svn/trunk/Makefile.PL ... hecho. ------- Commit de la revisión 4 >>>
A continuación restauramos la segunda parte:
pp2@nereida:~$ ssh banot cat dumprep.5to6 | svnadmin load mietsiiincrep <<< Nueva transacción iniciada, basada en la revisión original 5 * editando ruta : acme-svn/branches/myacme-svn/Makefile.PL ... hecho. ------- Commit de la revisión 5 >>> <<< Nueva transacción iniciada, basada en la revisión original 6 * editando ruta : acme-svn/trunk/Makefile.PL ... hecho. ------- Commit de la revisión 6 >>> pp2@nereida:~$
Podemos acceder al nuevo repositorio desde una tercera máquina:
casiano@orion:~$ svn ls svn+ssh://pp2/home/pp2/mietsiiincrep acme-svn/ casiano@orion:~$ svn log svn+ssh://pp2/home/pp2/mietsiiincrep/acme-svn/trunk/ ------------------------------------------------------------------------ r6 | lgforte | 2009-04-23 11:54:54 +0100 (jue, 23 abr 2009) | 1 line lgforte modification ------------------------------------------------------------------------ r4 | casiano | 2009-03-05 15:56:20 +0000 (jue, 05 mar 2009) | 1 line sally in trunk: list of final comments ------------------------------------------------------------------------ r3 | casiano | 2009-03-05 15:56:02 +0000 (jue, 05 mar 2009) | 1 line sally in trunk: list of comments ------------------------------------------------------------------------ r1 | casiano | 2009-03-05 15:53:05 +0000 (jue, 05 mar 2009) | 1 line branches ------------------------------------------------------------------------
Si múltiples usuarios estan accediendo al repositorio vía svn+ssh
será necesario también garantizar
que los permisos del repositorio son los adecuados. Por ejemplo:
bash-2.05b# ls -l | grep svn drwxrwxr-x 7 svn svnusers 512 Apr 27 15:06 reponame1 drwxrwxr-x 7 svn svnusers 512 Apr 27 15:06 reponame2 drwxrwxr-x 7 svn svnusers 512 Apr 27 15:06 reponame3 bash-2.05b# ls -l reponame1/ | egrep -i "db" drwxrwsr-x 2 svn svnusers 512 Apr 27 15:07 db bash-2.05b#
Casiano Rodríguez León