Subversion

    Moises E. Coronado D.

mcoronado@linuxpuertomontt.cl

Agenda
- Introduccion - Arquitectura - Instalar servidor - Configurar - El Repositorio - El Cliente - El Problema y Solucion - Seguridad - Eclipse  

Introducción
Sistema de Control de Versiones Maneja Archivos y Directorios a través del tiempo Libre y de Código Abierto Recupera versiones antiguas de sus datos “máquina del tiempo” Acceder al Repositorio a través de redes  Fomenta la Colaboración    http://subversion.tigris.org/

Arquitectura

Como Instalamos el Servidor
Manos a la obra...   Paquetes a instalar   - #apt-get install subversion   - #apt-get install apache2   - #apt-get install libapache2-svn Listo ya tenemos servidor svn!!!!

Configurar
Creamos la estructura de directorio del repo linuxday - #svnadmin create /var/www/misrepos/linuxday   se crean los directorios conf  dav  db  hooks  locks

Cambiamos usuario del repoSVN (apache administra) #chown -R www-data.www-data /var/www/misrepos

Arquitectura

Ahora --->

OK -->

Configur Apache
Editamos vim /etc/apache2/mods-enabled/dav_svn.conf dejar algo como esto... (simplificado) <Location /inacap> DAV svn SVNParentPath /var/www/misrepos </Location>   Genera --->   http://servidor/inacap

Arquietectura

OK --->

OK -->

El Repositorio

Como funciona!!

Cargamos Archivos iniciales
Importar  arbol con archivos fuente al repositorio (si se omite el directorio de origen, se asume el directorio actual)    
svn import [directorio] http://servidor/inacap/linuxday

ver el repositorio via web http://servidor/inacap/linuxday   revision 1

Creamos area de trabajo en cliente
Traer desde el servidor una copia de trabajo svn checkout http://servidor/inacap/linuxday  .. Revisión obtenida:     Resultado: Se crea una carpeta local con el contenido del repositorio
Nota: Cada directorio en su copia de trabajo contiene un subdirectorio administrativo llamado .svn

Un cambio
hacemos un cambio y lo enviamos al repositorio...

incresamos a la copia local cd linuxday editamos algun archivo... svn commit

Agregamos un Archivo
creamos el archivos touch archivonuevo.txt lo agregamos a la carpeta de trabajo svn add archivonuevo.txt lo enviamos al repo svn commit

El ciclo de trabajo típico
Actualizar su copia de trabajo local svn update Hacer cambios svn add svn delete svn copy svn move Examinar sus cambios svn status svn diff svn revert Fusionar los cambios de otros en su copia de trabajo svn merge svn resolved

Problemas

Solución bloqueo-modificación-desbloqueo

La solución copiar-modificar-mezclar

La solución copiar-modificar-mezclar II

Demo del problema...
Instalamos clientes Para Linux RapidSVN  apt-get install rapidsvn ___________________________________________
y para el otro sistema operativo

tortoisesvn tortoisesvn.tigris.org

Preguntas