Svn: Sistema de archivos 4d

32
svn: Sistema de archivos 4D Javier E. Pérez P. <templeofdvst AT gmail.com> http://dvst.no-ip.org Noviembre 2006

description

¿Qué es un sistema de archivos? ¿Qué es subversion? ¿Por qué usar svn y no otro sistema de control de versiones? ¿Quién usa svn? ¿Cómo trabaja? Ejemplo práctico Herramientas

Transcript of Svn: Sistema de archivos 4d

Page 1: Svn: Sistema de archivos 4d

svn: Sistema de archivos 4D

Javier E. Pérez P.<templeofdvst AT gmail.com>

http://dvst.no-ip.orgNoviembre 2006

Page 2: Svn: Sistema de archivos 4d

¿Quién soy?

Page 3: Svn: Sistema de archivos 4d

http://www.velug.org.ve

http://www.debianvenezuela.org.ve

http://groups.yahoo.com/group/iutlv_linux

http://www.cnsl.org.ve

...

Page 4: Svn: Sistema de archivos 4d

¿Qué es un sistema de archivos?

Page 5: Svn: Sistema de archivos 4d

*NIX

MS Windows

MacOS

/home/dvst/img/masuimi

C:\Mis documentos\Mi música\avenged sevenfold

directorio:subdirectorio:subdirectorio

Page 6: Svn: Sistema de archivos 4d

CrearMoverEliminar

Archivos / Directorios

Page 7: Svn: Sistema de archivos 4d

¿Qué es subversion?

Page 8: Svn: Sistema de archivos 4d

➢ Licencia: Apache / BSD

➢ Desarrollo colaborativo

➢ Maquina de tiempo (4D)

➢ Sucesor de CVS

Page 9: Svn: Sistema de archivos 4d

¿Por qué usar svn y no otro sistema de

control de versiones?

Page 10: Svn: Sistema de archivos 4d

➢ Registra cambios de la estructura de archivos

manteniendo el historial, cvs no.

➢ Se envían/reciben solo las diferencias entre

versiones, CVS envia/recibe archivos completos.

➢ Los commit son generales, no individuales.

➢ Permite backups al instante, no hay que

interrumpir el acceso como lo hace cvs.

Page 11: Svn: Sistema de archivos 4d

dvst@masuimi:~/tmp$ lsarchivo1.pl archivo2.pldvst@masuimi:~/tmp$ mv archivo2.pl archivo3.pldvst@masuimi:~/tmp$ cvs remove archivo2.pldvst@masuimi:~/tmp$ cvs add archivo3.pl

cvs

dvst@masuimi:~/tmp$ lsarchivo1.pl archivo2.pldvst@masuimi:~/tmp$ mv archivo2.pl archivo3.pldvst@masuimi:~/tmp$ svn move archivo2.pl archivo3.pl

svn *

* Mantiene el historial!!!

Page 12: Svn: Sistema de archivos 4d

➢ Registra cambios de la estructura de archivos

manteniendo el historial, cvs no.

➢ Se envían/reciben solo las diferencias entre

versiones, CVS envia/recibe archivos completos.

➢ Los commit son generales, no individuales.

➢ Permite backups al instante, no hay que

interrumpir el acceso como lo hace cvs.

Page 13: Svn: Sistema de archivos 4d

#!/usr/bin/perl$mito = "perl es dificil";print $mito;

archivo1.pl

#!/usr/bin/perluse strict;my $mito = "perl es dificil";print $mito;

archivo2.pl

diff -u (diferencia unificada)

--- archivo1.pl 2006-11-19 18:15:34.000000000 -0400+++ archivo2.pl 2006-11-19 18:17:04.000000000 -0400@@ -1,3 +1,6 @@ #!/usr/bin/perl-$mito = "perl es dificil";+use strict;+my $mito = "perl es dificil"; print $mito;

Page 14: Svn: Sistema de archivos 4d

➢ Registra cambios de la estructura de archivos

manteniendo el historial, cvs no.

➢ Se envían/reciben solo las diferencias entre

versiones, CVS envia/recibe archivos completos.

➢ Los commit son generales, no individuales.

➢ Permite backups al instante, no hay que

interrumpir el acceso como lo hace cvs.

Page 15: Svn: Sistema de archivos 4d

1. Estamos en la copia de trabajo actual

2. Modificamos archivo1.pl y archivo2.pl (no tocamos

archivo3.pl)

3. Actualizamos el repositorio con nuestros cambios

4. Se interrumpe la transmisión de datos (problemas de

red, luz, etc.)

cvs

Escenario

Comportamiento

svnO realiza todos los cambios, o no actualiza ninguno

Actualiza los que pudo, hay que reparar la integridadmanualmente

Page 16: Svn: Sistema de archivos 4d

➢ Registra cambios de la estructura de archivos

manteniendo el historial, cvs no.

➢ Se envían/reciben solo las diferencias entre

versiones, CVS envia/recibe archivos completos.

➢ Los commit son generales, no individuales.

➢ Permite backups al instante, no hay que

interrumpir el acceso como lo hace cvs.

Page 17: Svn: Sistema de archivos 4d

¿Quién usa svn?

Page 18: Svn: Sistema de archivos 4d

Apache Software Foundation, KDE, GCC, Python, Samba, Mono, PuTTY, Zope, Xiph, GnuPG, CUPS, Wireshark, TWiki, Ruby on Rails, Django, Bioconductor, cuaima, velug, muchisimos mas.

...

Page 19: Svn: Sistema de archivos 4d

¿Cómo trabaja?

Page 20: Svn: Sistema de archivos 4d

http://svnbook.red-bean.com/

Típico sistema cliente/servidor

Page 21: Svn: Sistema de archivos 4d

http://svnbook.red-bean.com/

Problema a evitar

Page 22: Svn: Sistema de archivos 4d

http://svnbook.red-bean.com/

Solución de bloqueo

Page 23: Svn: Sistema de archivos 4d

http://svnbook.red-bean.com/

Solución copia-modifica-fusiona

Page 24: Svn: Sistema de archivos 4d

http://svnbook.red-bean.com/

Solución copia-modifica-fusionacontinuación

Page 25: Svn: Sistema de archivos 4d

A mojarnos los pies(abc)

Page 26: Svn: Sistema de archivos 4d

crear repositorio

crear copia de trabajo

importar proyecto

subir modificaciones

actualizar copia de trabajo

svnadmin create REPOS_PATH

svn import miProyecto REPOS_PATH/miProyecto

svn checkout REPOS_PATH/miProyecto

svn commit

svn update

Page 27: Svn: Sistema de archivos 4d

imprime diferencias realizadas desde la revisión indicada

muestra todos los mensajes por revisión

deshace cambios

muestra contenido de archivo por revisión

svn diff -r 4 archivo1.pl

svn log

svn revert archivo1.pl

svn cat -r 3 archivo1.pl

lista archivos del repositorio sin tener que bajar localmente

svn list

muestra los cambios realizadossvn status -v

Page 28: Svn: Sistema de archivos 4d

Herramientas

Page 29: Svn: Sistema de archivos 4d

http://subversion.tigris.org/links.html#clients

Page 30: Svn: Sistema de archivos 4d

http://cuaima.latinux.com | http://trac.edgewall.com/

Page 31: Svn: Sistema de archivos 4d

http://code.google.com

Page 32: Svn: Sistema de archivos 4d

Gracias!