Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu no es? e
Qu no es? e
No es un compilador (gcc, g++, javac, mcs, etc) No construye aplicaciones (make, ant, jam, etc) No elimina el coordinador del proyecto (el jefe) No elimina la comunicacin entre usuarios (mail, gforge) o No lleva control de bugs (bugzilla) No es un depurador (gdb, ddd) No prueba aplicaciones (Unit)
Etiqueta Informacin textual que se aade a un conjunto de archivos o n (o a un mdulo completo) para indicar algn hito importante (p.e.: o u VERSION 0 1). Rama Revisiones paralelas de un mdulo para efectuar cambios sin tocar o la evolucin principal. Se suele emplear para pruebas o para mantener o cambios en versiones viejas.
Operaciones bsicas a
Operaciones bsicas a
Introducir datos en el repositorio: Import Enviar la primara copia de un mdulo. Slo se usa una vez. o o Commit Mandar los cambios locales al repositorio. Sacar datos del repositorio: Check-out Descargar un versin de trabajo a tu mquina. Slo se o a o hace una vez. Update Actualizar en la copia local los cambios del repositorio.
Comentarios
Comentarios
Cada operacin debe comentarse o Indica qu problema resuelve o qu caracter e e stica aade n Sirven para informar al resto de usuarios y para el seguimiento de las versiones
Escenario
Escenario
Escenario (cont.)
Subversion
Subversion
Subversion
Subversion es un sistema de control de versiones Muy parecido al conocido CVS Aparece para suplir las limitaciones de ste e Est empezando a ser adoptado por muchos desarrollos libres a Mantiene un repositorio centralizado Permite mltiples desarrolladores u Es independiente del contenido Admite archivos binarios sin problemas
Caracter sticas
10
Caracter sticas
Las revisiones se hacen sobre todo el rbol de directorios a Varios cambios (cambiar/aadir/borrar) pueden ir dentro de la n misma revisin o Las diferencias almacenadas son binarias. El tratamiento de los archivos binarios es igual que el de los archivos de texto. La copia/movimiento de archivos no es una operacin costosa. o
Tipos de servidores
11
Tipos de servidores
Los servidores estn identicados por una URL a El funcionamiento local o por red es idntico: solo cambia la URL e Protocolos soportados le:/// http:// https:// svn:// svn+ssh:// direct repository access (on local disk) access via WebDAV protocol to Subversion-aware Apache server same as http://, but with SSL encryption. access via custom protocol to an svnserve server same as svn://, but through an SSH tunnel.
12
Crear un repositorio
13
Crear un repositorio
$ svnadmin create /tmp/svn Debe el fuente no tiene estructura del mdulo, puedes usar svn mkdir o Es combeniente tener un mdulo por repositorio (pero no necesario) o
Introducir datos
14
Introducir datos
Opcin import o $ svn import file:///tmp/svn Adding trunk Adding trunk/hsifilter.i Adding trunk/pyhsituner.py Adding (bin) trunk/hsituner.png Adding trunk/TODO Adding trunk/hsituner.glade Adding trunk/Makefile Adding branches Adding tags Committed revision 1.
c 2004 Pablo Barrera, GSyC Sistemas de Control de Versiones CVS y Subversion: Subversion
15
16
17
Para subir $ svn add otroarchivo.txt A otroarchivo.txt $ svn ci Sending hsifilter.i Adding otroarchivo.txt Transmitting file data .. Committed revision 2.
18
Resolucin de conictos o
19
Resolucin de conictos o
$ svn ci Sending hsifilter.i svn: Commit failed (details follow): svn: Out of date: /trunk/hsifilter.i in transaction 7 $ svn update C hsifilter.i A otroarchivo.txt
Resolucin de conictos o
20
Updated to revision 4. <<<<<<< .mine Esto es un cambio local ======= Los cambios del servidor >>>>>>> .r4 $ svn resolved hsifilter.i Resolved conflicted state of hsifilter.i
21
22
$ svn copy file:///tmp/svn/trunk file:///tmp/svn/tags/0.1 Committed revision 4. $ svnlook tree /tmp/svn/ | grep / / trunk/ branches/ tags/ 0.1/
23
keywords
24
keywords
$LastChangedDate$ o $Date$ $LastChangedRevision$ o $Rev$ $LastChangedBy$ o $Author$ $HeadURL$ $Id$ Es necesario activarlas svn propset svn:keywords "Date Author" *
25
Referencias
26
Referencias
http://svnbook.red-bean.com http://www.sindominio.net/quique/Traducciones/subversion personal.html