- 1. Manuel Cesar Yanezv0.1 SUBVERSION
2. Contenido
- Interaccin usuario consola.
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
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
- svn checkout URL_Repositorio PATH_LOCAL
- svn checkout svn:///192.168.81.100/practica/trunk/proyecto1
/home/codigo/proyecto1
8. svn status
- '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
- 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
-
- Click derecho en algn directorio y aparece men contextual con
todas las opciones de subversin
-
- RapidSVN, esvn, ksvn, y otros
- IDES c/soporte Subversion:
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
- svnadmin create PATH_REPOSITORIO
- (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
-
- Los desarrollos constantes suceden aqu
-
- Desarrollo de propsito especial aqu
-
- Liberaciones numeradas se almacenan aqui
20. Subir el proyecto
- Sintaxis :svn import [PATH] URL
- 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
- 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
- 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 ?
26. CHA GRACIASSSS!!!