Presentacion Subversion
Upcoming SlideShare
Loading in...5
×
 

Presentacion Subversion

on

  • 1,694 views

Slides Subversion

Slides Subversion

Statistics

Views

Total Views
1,694
Views on SlideShare
1,693
Embed Views
1

Actions

Likes
0
Downloads
27
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Presentacion Subversion Presentacion Subversion Presentation Transcript

  • Manuel Cesar Yanez v0.1 SUBVERSION
  • Contenido
    • Introducción / Conceptos
    • Que es Subversión?
    • Instalación
    • Comandos básicos
    • Interacción usuario consola.
    • Interacción usuario GUI.
    • Componentes
    • Crear un repositorio
    • Configurar Accesos
    • Estructurar Proyectos
    • Migrando Repositorios
  • Que es Subversion?
    • Subversion es un sistema de control de versiones libre y de código fuente abierto:
      • Maneja ficheros y directorios a través del tiempo.
      • Hay un árbol de ficheros en un repositorio 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.
  • Instalación
    • Aquellos que tengan entornos GNU/Linux basados en Debian:
      • apt-get install subversion
    • Los que tengan Windows:
      • Svn1ClickSetup
      • TortoiseSVN
  • Comandos de Subversion
    • checkout : obtener una copia de trabajo
    • import : importar código a un repositorio
    • commit : actualizar repositorio con los cambios
    • update : actualizar copia de trabajo con los cambios
    • Otros comandos: move, copy, diff, list
  • Gráfica Operaciones
  • 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
  • svn status
    • ' ' Sin modificaciones.
    • 'A' El elemento está programado para ser añadido.
    • '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 versión del elemento en el servidor
  • Situación de Conflictos
  • svn resolved
    • Resumen:
    • Tratamos de hacer un commit de un archivo que ha sido modificado localmente pero que posee una nueva versión en el repositorio por lo tanto el commit es rechazado, dándose una situación de conflicto.
    • Al hacer un update sucede que:
    • Tenemos el archivo en cuestión con ambas porciones de código en conflicto (debemos corregirlo a mano)
    • Se crean 3 versiones del archivo:
      • Nuestra versión de archivo modificado.
      • Versión local descargada previa a los cambios de nuestra parte
      • Versión con cambios nuevos, traída del repositorio
  • 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)
  • GUIs p/ subversion
    • En Windows: TortoiseSVN
      • Click derecho en algún directorio y aparece menú contextual con todas las opciones de subversión
    • EN GNU/Linux:
      • RapidSVN, esvn, ksvn, y otros
    • IDES c/soporte Subversion:
      • Eclipse, Netbeans, otros
  • DEMO: GUIs
    • Instale Alguno de los GUIs detallados en su entorno de trabajo y pruebe en trabajar con un proyecto
  • No te Apoliyes !!!
  • Administración SVN COMPONENTES
    • svn : El programa cliente de línea 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 través de una red
  • Crear un Repositorio
    • svnadmin create : crea un repositorio nuevo
    • Sintaxis:
    • svnadmin create PATH_REPOSITORIO
    • Ejemplo:
    • (Linux) svnadmin create /home/SVN/mirepositorio
    • (Win) svnadmin create C:SVNmirepositorio
  • Directorios del Repositorio
    • conf :contiene los ficheros de configuración del repositorio.
    • dav : directorio para Apache y mod_dav_svn y su economía 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 número de versión 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.
  • Configurando Accesos
    • En el directorio conf del 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 contraseñas
  • Estructurar el Repositorio
    • Estructura recomendada:
    • Trunk /
      • Los desarrollos constantes suceden aquí
    • Branches /
      • Desarrollo de propósito especial aquí
    • Tags /
      • Liberaciones numeradas se almacenan aqui
  • 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.
  • 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 Compresión svnadmin dump file:///home/SVN/mirepo > backup.hoy Con Compresión 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
  • Protocolos Soportados
    • Sintaxis : svn import [PATH] URL
    • Ejemplo:
    • svn import /tmp/proyecto file:///home/SVN/mirepositorio -m &quot;importacion inicial&quot;
    • 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 vía protocolo WebDAV
    • https:// Igual que http:// , pero con cifrado SSL.
    • svn:// Acceso vía un protocolo personalizado a un servidor svnserve .
    • svn+ssh:// Lo mismo que svn:// , pero a través de un túnel SSH.
  • Buenas Practicas
    • Seguir la estructura de tags , trunk , branches
    • Tener todo el código en un repositorio
    • Realizar un update al inicio de cada día
    • Solo hacer commit de cambios coherentes
  • Direcciones Útiles
    • Pagina oficial: http://subversion.tigris.org/
    • Manual: http://svnbook.red-bean.com/
    • Wikipedia: http://es.wikipedia.org/wiki/Subversion
  • ¿ Preguntas ?
    • E-Mail:
    • Manuel Cesar Yanez
      • [email_address]
  • CHA GRACIASSSS!!!