![Page 1: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/1.jpg)
Sistemas de Control de VersionesSubversion
Alexis Quesada Arencibia Francisco J. Santana Pérez
![Page 2: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/2.jpg)
2© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
¿ Qué son ?
Programas que permiten gestionar un repositorio de archivos y sus distintasversiones
Utilizan una arquitectura cliente-servidorUn servidor guarda la(s) versión(es) actual(es) del proyecto y su historia
![Page 3: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/3.jpg)
3© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Nos permiten …
Varios clientes pueden sacar copias del proyecto al mismo tiempo
Realizar cambios a los ficheros manteniendo un histórico de los cambios
Deshacer los cambios hechos en un momento dadoRecuperar versiones pasadasVer históricos de cambios y comentariosLos clientes pueden también comparar diferentes versiones de archivos
![Page 4: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/4.jpg)
4© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Nos permiten …Unir cambios realizados por diferentes usuarios sobrelos mismos ficheros
Sacar una "foto" histórica del proyecto tal como se encontraba en un momento determinado
Actualizar una copia local con la última versión que se encuentra en el servidor
Esto elimina la necesidad de repetir las descargas del proyectocompleto
Mantener distintas ramas de un proyecto
![Page 5: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/5.jpg)
5© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Sistemas de control de Versiones (SCV)CVS
http://www.nongnu.org/cvs/
Subversionhttp://subversion.tigris.org/
Archhttp://www.gnu.org/software/gnu-arch/
DARCShttp://www.darcs.net/
BitKeeperhttp://www.bitkeeper.com/
![Page 6: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/6.jpg)
6© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Subversion
Sistema de control de versiones libre y de código abierto (2001)
Está construido sobre una capa de portabilidad llamada APR (la bibliotecaApache Portable Runtime)
Debería funcionar sobre cualquier SO dondelo haga el servidor httpd Apache (Windows, Linux, Mac OS X, …)
![Page 7: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/7.jpg)
7© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Subversion
Es un sistema general que puede ser usado para administrar cualquierconjunto de ficheros
Texto, imágenes, video, ejecutables, …
El repositorio en el servidor consiste en una base de datos (Berkeley DB)
![Page 8: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/8.jpg)
8© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Características
Versionado de directorios
Facilidad para añadir/eliminar/moverficheros y directorios
Envíos atómicos
Versionado de metadatos
Soporte para binarios
![Page 9: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/9.jpg)
9© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Características
Diferentes sistemas de accesofile:// acceso al sistema localhttp:// y https:// haciendo uso del módulo DAV en Apache 2svn:// para svnserve y svn+ssh:// para utilizarssh
Ramificación y etiquetado eficientes
Se envían solo las diferencias en ambasdirecciones
![Page 10: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/10.jpg)
10© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Características
Existen clientes gráficos tanto para linuxcomo para windows
Windows: tortoiseSVNhttp://tortoisesvn.tigris.org/
Windows, Linux, Mac OS: rapidsvnhttp://rapidsvn.tigris.org/
![Page 11: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/11.jpg)
11© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Arquitectura
![Page 12: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/12.jpg)
12© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
svn: programa cliente de línea de órdenes
La mejor ayuda:svn help orden
![Page 13: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/13.jpg)
13© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Descargando un repositorio (crea unacopia en la máquina local)
svn checkout URL_REPOSITORIO
$ svn checkout http://svn.collab.net/repos/svn/trunk subvA subv/subversion.dswA subv/svn_check.dsp…Checked out revision 2499.
![Page 14: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/14.jpg)
14© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Haciendo cambios en la copia de trabajolocal
Cambios en los ficherosNo hay que indicarle nada a subversion. Detectarálos cambios automáticamente
Cambios en el arbolAñadir/eliminar/copiar/mover ficheros y directorios
![Page 15: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/15.jpg)
15© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Añadir/eliminar/copiar/mover ficheros y directorios
Los cambios son marcados en la copia local y serán reflejados en el repositorio cuando se envíen los cambios
$ svn add fichOdir$ svn delete fichOdir$ svn copy fichOdir1 fichOdir2$ svn move fichOdir1 fichOdir2
![Page 16: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/16.jpg)
16© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajoExaminando los cambios antes de enviarlos al repositorio
Se puede ejecutar en la raiz de la copia de trabajo para ver todolos cambios o en sobre una ruta o fichero esfecífica)
![Page 17: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/17.jpg)
17© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajoOtra forma de examinar los cambios
svn diff
![Page 18: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/18.jpg)
18© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Me arrepiento de mis ….. (deshacer lasmodificaciones locales)
svn revert PATH
Para deshacer todo los cambios en un directorio se debe usar la opción
--recursive
![Page 19: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/19.jpg)
19© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Enviando los cambios al repositorio
svn commit [PATH] –m “mensaje de registro”
svn commit [PATH] –F fichero_log
$ svn commit --message "Corrected number of cheese slices."Sending sandwich.txtTransmitting file data .Committed revision 3.
![Page 20: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/20.jpg)
20© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Actualizar la copia de trabajo localsvn update
$ svn updateU foo.cU bar.cUpdated to revision 2.
U => ActualizadoA => AñadidoD => EliminadoR => ReemplazadoG => FundidoC => Conflicto
![Page 21: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/21.jpg)
21© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Resolviendo conflictos
$ svn updateU INSTALLG READMEC bar.cUpdated to revision 46.
Actualizado !!! No hay problema
Fundido !!! Nos entendemos: ¡ tu a tus cosas y yo a las mías !
Aquí llegó la bronca !!!!
![Page 22: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/22.jpg)
22© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Pero dicen que hablando se entiende la gente !!!
Acto de conciliación !!!Ayuda de subversion en relación a los conflictos
Nos informa (C)Coloca marcas de conflicto en el fichero para demostrarvisualmente las áreas solapadasPara cada fichero en conflicto, subversion coloca tres ficherostemporales extra en la copia de trabajo local
Filename.mine, filename.rOLDREV, filename.RNEWREV
![Page 23: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/23.jpg)
23© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Soluciones:
Fusionar el texto en conflicto a mano
Copiar uno de los ficheros temporales sobre sufichero de trabajo
Ejecutar svn revert para eliminar los cambioslocales
![Page 24: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/24.jpg)
24© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Subversion no permitirá enviar el fichero en conflicto hasta que los tres ficherostemporales sean borrados
Una vez solucionado el conflicto, es necesariocomunicarselo a subversion
svn resolved PATHEsto borrará los tres ficheros temporales y Subversion no considerará por mas tiempo que el fichero está en estado de conflicto
![Page 25: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/25.jpg)
25© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Fusionar el texto en conflicto a mano$ cat sandwich.txtTop piece of breadMayonnaiseLettuceTomatoProvolone<<<<<<< .mineSalamiMortadellaProsciutto=======SauerkrautGrilled Chicken>>>>>>> .r2Creole MustardBottom piece of bread
svn resolved fichero
![Page 26: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/26.jpg)
26© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Copiar uno de los ficheros temporales sobresu fichero de trabajo
$ svn updateC sandwich.txtUpdated to revision 2.$ ls sandwich.*sandwich.txt sandwich.txt.mine sandwich.txt.r2sandwich.txt.r1$ cp sandwich.txt.r2 sandwich.txt$ svn resolved sandwich.txt
![Page 27: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/27.jpg)
27© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Eliminar los cambios localessvn revert ficheroSi se invierte un fichero en conflicto, no esnecesario ejecutar “svn resolved”
$ svn revert sandwich.txtReverted 'sandwich.txt'$ ls sandwich.*sandwich.txt
![Page 28: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/28.jpg)
28© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Una vez resueltos los conflictos, enviamos loscambios
svn commit –m “mensaje”
![Page 29: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/29.jpg)
29© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Ciclo básico de trabajo
Examinando el historialMostrar información sobre los registros
svn log
Mostrar información sobre cambiossvn diff
Mostrar revisiones anteriores de ficherossvn cat
Mostrar los ficheros de un directorio para una revisiónconcreta
svn list
![Page 30: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/30.jpg)
30© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Otras órdenes útiles
Completar transacciones pendientes eliminando el estado de bloqueo
svn cleanup
Copiar un árbol de ficheros sin versionar en el repositorio, creando directorios intermedios
svn import [PATH] URL
Crear directorios en la copia local o repositoriosvn mkdir PATH_O_URL
![Page 31: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/31.jpg)
31© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Creación de ramas (branches)
svn cp ORIGEN DESTINO
svn cp file:///home/usuario/svn/holamundo/headfile:///home/usuario/svn/holamundo/ramas/holamundo-beta
Y si corregimos errores en la rama, podemosrescatarlas en la versión de desarrollo
svn merge
svn merge -r 176:177 file:///home/usuario/svn/holamundo/ramas/holamundo-beta
![Page 32: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/32.jpg)
32© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Etiquetas (tags)
svn cp ORIGEN DESTINO
$ svn cp -r 345 file:///home/usuario/svn/holamundo/ramas/holamundo-beta \file:///home/usuario/svn/holamundo/finales/1_0
$svn propset svn:read-only 1 file:///home/usuario/svn/holamundo/finales/1_0
![Page 33: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/33.jpg)
33© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Creando un repositorio
svnadmin create REPO_PATH
[aquesada@dumby svn]$ svnadmin create ./aquesada[aquesada@dumby svn]$ cd aquesada/[aquesada@dumby aquesada]$ lsconf dav db format hooks locks README.txt[aquesada@dumby aquesada]$
![Page 34: Sistemas de Control de Versiones - sopa.dis.ulpgc.essopa.dis.ulpgc.es/progsis/material-didactico-practico/enunciados...Sistemas de Control de Versiones Subversion Alexis Quesada Arencibia](https://reader030.vdocumento.com/reader030/viewer/2022021505/5aed3edf7f8b9ab24d912bfc/html5/thumbnails/34.jpg)
34© Alexis Quesada Arencibia – Francisco J. Santana Pérez Programación de Sistemas
Referenciashttp://subversion.tigris.org/
http://svnbook.red-bean.com/
http://es.wikipedia.org/wiki/Sistema_de_control_de_versi%C3%B3n
http://acm2.asoc.fi.upm.es/~chernando/doc/svn/
http://www.kikov.org/subversion-tutorial-es-index
http://josecely.tecsua.com/?p=12
http://www.escomposlinux.org/fer_y_juanjo/index.php?pag=subversion.html
http://kopernix.com/?q=svnd_como