presentacion subversion

26
Manuel Cesar Yanez v0.1 SUBVERSION SUBVERSION

Upload: cesar-yanez

Post on 20-Jan-2015

1.478 views

Category:

Technology


0 download

DESCRIPTION

Slides Subversion

TRANSCRIPT

  • 1. Manuel Cesar Yanezv0.1 SUBVERSION

2. Contenido

  • Introduccin / Conceptos
  • Que es Subversin?
  • Instalacin
  • Comandos bsicos
  • Interaccin usuario consola.
  • Interaccin usuario GUI.
  • Componentes
  • Crear un repositorio
  • Configurar Accesos
  • Estructurar Proyectos
  • Migrando Repositorios

3. Que es Subversion?

  • Subversion es un sistema de control de versiones libre y de cdigo fuente abierto:
    • Maneja ficheros y directorios a travs del tiempo.
    • Hay un rbol de ficheros en unrepositorio central.
    • El repositorio es como un servidor de ficheros ordinario, excepto porque recuerda todos los cambios hechos a sus ficheros y directorios.
    • Permite recuperar versiones antiguas de sus datos, o examinar un historial de cambios de los mismos.

4. Instalacin

  • Aquellos que tengan entornos GNU/Linux basados en Debian:
    • apt-get install subversion
  • Los que tengan Windows:
    • Svn1ClickSetup
    • TortoiseSVN

5. Comandos de Subversion

  • checkout: obtener una copia de trabajo
  • import: importar cdigo a un repositorio
  • commit: actualizar repositorio con los cambios
  • update : actualizar copia de trabajo con los cambios
  • Otros comandos: move, copy, diff, list

6. Grfica Operaciones 7. svn checkout

  • Obtiene una copia local de trabajo de un repositorio
  • Sintaxis:
  • svn checkout URL_Repositorio PATH_LOCAL
  • Ejemplo:
  • svn checkout svn:///192.168.81.100/practica/trunk/proyecto1 /home/codigo/proyecto1

8. svn status

  • ' 'Sin modificaciones.
  • 'A'El elemento est programado para ser aadido.
  • 'D'El elemento est programado para ser borrado.
  • 'M'El elemento ha sido modificado.
  • 'C'El elemento est en conflicto tras recibir actualizaciones del repositorio.
  • '?'El elemento no est bajo control de versiones.
  • '~'El elemento est versionado como un directorio, pero ha sido reemplazado por un fichero, o viceversa.
  • ' *' Existe una nueva versin del elemento en el servidor

9. Situacin de Conflictos 10. svn resolved

  • Resumen:
  • Tratamos de hacer uncommitde un archivo que ha sido modificado localmente pero que posee una nueva versin en el repositorio por lo tanto elcommites rechazado, dndose una situacin de conflicto.
  • Al hacer unupdatesucede que:
  • Tenemos el archivo en cuestin con ambas porciones de cdigo en conflicto (debemos corregirlo a mano)
  • Se crean 3 versiones del archivo:
    • Nuestra versin de archivo modificado.
    • Versin local descargada previa a los cambios de nuestra parte
    • Versin con cambios nuevos, trada del repositorio

11. DEMO: Linea de comandos

  • Practica con los comandos de subversion:
  • Bajar un proyecto (svn checkout)
  • Realizar Cambios y chequear estado (svn status)
  • Actualizar copia local (svn update)
  • Subir cambios realizados localmente (svn commit)

12. GUIs p/ subversion

  • En Windows: TortoiseSVN
    • Click derecho en algn directorio y aparece men contextual con todas las opciones de subversin
  • EN GNU/Linux:
    • RapidSVN, esvn, ksvn, y otros
  • IDES c/soporte Subversion:
    • Eclipse, Netbeans, otros

13. DEMO: GUIs

  • Instale Alguno de los GUIs detallados en su entorno de trabajo y pruebe en trabajar con un proyecto

14. No te Apoliyes !!! 15. Administracin SVN COMPONENTES

  • svn :El programa cliente de lnea de comandos.
  • svnlook: Una herramienta para inspeccionar un repositorio de Subversion.
  • svnadmin: Herramienta para crear, modificar o reparar un repositorio de Subversion.
  • svndumpfilter: Un programa para filtrar el formato de salida de volcado de repositorios Subversion.
  • svnserve: Un servidor,ejecutable como proceso demonio, hace que su repositorio est disponible para otros a travs de una red

16. Crear un Repositorio

  • svnadmin create: creaun repositorio nuevo
  • Sintaxis:
  • svnadmin create PATH_REPOSITORIO
  • Ejemplo:
  • (Linux) svnadmincreate/home/SVN/mirepositorio
  • (Win) svnadmincreateC:SVNmirepositorio

17. Directorios del Repositorio

  • conf:contiene los ficheros de configuracin del repositorio.
  • dav: directorio para Apache y mod_dav_svn y su economa privada de datos.
  • db: El entorno principal de la base de datos Berkeley, lleno de tablas que el almacenamiento de datos para el sistema de ficheros de Subversion ( donde residen los datos versionados)
  • format: Un fichero cuyo contenido es un simple valor entero, dice el nmero de versin del repositorio
  • hooks: directorio de plantillas de ganchos
  • locks: Un directorio para el bloqueo de datos de repositorio de Subversion, usado para los accesos al repositorio.

18. Configurando Accesos

  • En el directorioconfdel repositorio existen tres archivos:
    • svnserve.conf :permisos y configuraciones globales del repositorio
    • authz :se definen permisos, permisos por directorios, grupos de usuarios y usuarios
    • password:contiene configuraciones de usuarios y contraseas

19. Estructurar el Repositorio

  • Estructura recomendada:
  • Trunk /
    • Los desarrollos constantes suceden aqu
  • Branches /
    • Desarrollo de propsito especial aqu
  • Tags /
    • Liberaciones numeradas se almacenan aqui

20. Subir el proyecto

  • Sintaxis :svn import [PATH] URL
  • Ejemplo:
  • svn import /tmp/proyecto file:///home/SVN/mirepositorio-m "importacion inicial"
  • Donde /tmp/proyecto es el Path del proyecto a importar y -m indica un mensaje de registro en el repositorio.

21. Migrando Repositorios

  • Sintaxis :svn import [PATH] URL
  • Ejemplo:
  • svn import /tmp/proyecto file:///home/SVN/mirepositorio-m "importacion inicial"
  • Donde /tmp/proyecto es el Path del proyecto a importar y -m indica un mensaje de registro en el repositorio.

Respaldar Repositorio: Sin Compresin svnadmin dump file:///home/SVN/mirepo > backup.hoy Con Compresin svnadmin dump file:///home/SVN/mirepo | gzip -9 > backup.hoy.gz Restaurar repositorio: svnadmin create minewrepo svnadmin load minewrepo < backup.hoy Respaldar Repositorio: svnadmin dump file:///home/SVN/mirepo > backup.hoy Restaurar repositorio: svnadmin create minewrepo svnadmin load minewrepo < backup.hoy Respaldar Repositorio: svnadmin dump file:///home/SVN/mirepo > backup.hoy Restaurar repositorio: svnadmin create minewrepo svnadmin load minewrepo < backup.hoy Respaldar Repositorio: svnadmin dump file:///home/SVN/mirepo > backup.hoy Restaurar repositorio: svnadmin create minewrepo svnadmin load minewrepo < backup.hoy 22. Protocolos Soportados

  • Sintaxis :svn import [PATH] URL
  • Ejemplo:
  • svn import /tmp/proyecto file:///home/SVN/mirepositorio-m "importacion inicial"
  • Donde /tmp/proyecto es el Path del proyecto a importar y -m indica un mensaje de registro en el repositorio.
  • file:///Acceso directo al repositorio (en el disco local).
  • http://Acceso va protocolo WebDAV
  • https://Igual quehttp:// , pero con cifrado SSL.
  • svn://Acceso va un protocolo personalizado a un servidorsvnserve .
  • svn+ssh://Lo mismo quesvn:// , pero a travs de un tnel SSH.

23. Buenas Practicas

  • Seguir la estructura detags ,trunk ,branches
  • Tener todo el cdigo en un repositorio
  • Realizar unupdateal inicio de cada da
  • Solo hacercommitde cambios coherentes

24. Direcciones tiles

  • Pagina oficial:http://subversion.tigris.org/
  • Manual:http://svnbook.red-bean.com/
  • Wikipedia:http://es.wikipedia.org/wiki/Subversion

25. Preguntas ?

  • E-Mail:
  • Manuel Cesar Yanez
    • [email_address]

26. CHA GRACIASSSS!!!