SVN básico Una guía para comenzar a utilizar Subversion.

13
SVNbásic o Una guía para comenzar a utilizar Subversion

Transcript of SVN básico Una guía para comenzar a utilizar Subversion.

Page 1: SVN básico Una guía para comenzar a utilizar Subversion.

SVNbásicoUna guía para comenzar a utilizar Subversion

Page 2: SVN básico Una guía para comenzar a utilizar Subversion.

¿Qué es Subversion? Máquina de tiempo

Es un software de control de versiones de código abierto/libre que proporciona la capacidad de que varios desarrolladores modifiquen y administren los mismos archivos de un mismo proyecto estando en máquinas distintas.

¿Por qué una máquina de tiempo? Al utilizar Subversion tenemos cada versión de nuestro archivo guardado para ser modificada y si algo sale mal se puede simplemente volver a la versión anterior.

Page 3: SVN básico Una guía para comenzar a utilizar Subversion.

Conceptos Repositorio

Es un centro de almacenamiento de datos. Es un servidor que almacena el proyecto en su versión actual y los

archivos antiguos que fueron modificados por una nueva versión.

Versionamiento Es la práctica de almacenar las versiones anteriores de archivos

modificados además de la actual, creando así un árbol (revision tree) donde las ramas (branchs) son versiones diferentes de los archivos.

Copia local Vs Copia de trabajo La copia de trabajo será aquella almacenada en el servidor. “Es la

versión actual del proyecto”. La copia local será una versión de la copia de trabajo que el usuario

(el desarrollador) baja en su propio disco duro (su computadora).

Page 4: SVN básico Una guía para comenzar a utilizar Subversion.

Problema ¿Qué sucede si dos usuarios modifican un mismo archivo al mismo

tiempo?

Respuesta La versión del último usuario que envió el archivo será la versión

final y el trabajo del otro usuario será “oculto en una versión anterior”.

Page 5: SVN básico Una guía para comenzar a utilizar Subversion.

El copy-modify-merge El copy-modify-merge es un modelo utilizado por Subversion como

una opción al problema presentado en la lámina anterior.

¿Cómo funciona? Cada usuario hace una copia local de la copia de trabajo. Los usuarios entonces editan sólo su copia local del archivo. Al mandar el archivo al repositorio serán fusionadas las copias de

trabajo y la copia local.

Adicionalmente al copy-modify-merge tenemos el lock-modify-unlock, sin embargo este modelo posee más problemas. (Siendo más apropiado para trabajar con archivos binarios)

Page 6: SVN básico Una guía para comenzar a utilizar Subversion.

Situación Los usuarios 1 y 2 harán sus copias locales del archivo y trabajarán en él. Entonces “1” guarda su versión en el reporsitorio. Cuando “2” intente guardar sus cambios en el repositorio, recibirá un error

“out-of-date” indicando que su archivo está desactualizado.Por tanto “2” pedirá al software que haga un “merge” (fusionar los archivos).Como las modificaciones no se sobreponen, el usuario deberá guardar en el servidor esta nueva versión que será la fusión de los archivos de “1” y “2.

¿Y si los archivos se sobreponen? El software indicará que hay un conflicto y al hacer el “merge” mantendrá

la parte del código de ambos archivos en el archivo fusionado. Queda entonces por parte de los usuarios decidir cuál versión es más

adecuada y retirar la otra. (El programa no tiene cómo hacer esto automáticamente).

Page 7: SVN básico Una guía para comenzar a utilizar Subversion.

Figura 1.4 La solución copy-modify-merge Figura 1.5 La solución copy-modify-merge (continuación)

Page 8: SVN básico Una guía para comenzar a utilizar Subversion.

Comandos básicos Checkout - Descargar

El checkout debe ser hecho al inicio del proyecto para descargar la copia de trabajo como copia local.

Update - Actualizar El update es utilizado cuando la copia local esta desactualizada

(out-of-date). Después de hacerse el update será indicado si existen conflictos en los archivos.

Merge – Fusionar En el caso de que haya un archivo desactualizado en la copia

local, se podrá realizar el merge para fusionarlo con la versión actual de la copia de trabajo.

Commit – Subir cambios Luego de realizadas las modificaciones en la copia local, se

deberán enviar al repositorio utilizando el comando commit.

Page 9: SVN básico Una guía para comenzar a utilizar Subversion.

Clientes TortoiseSVN (W) – se encuentra integrado con Windows

Explorer

RapidSVN (W,L,M) – Posee una interfaz propria

Subeclipse (W,L,M) – Integrado al IDE Eclipse

Page 10: SVN básico Una guía para comenzar a utilizar Subversion.

Instalando SubeclipseInstalando o subeclipse Subeclipse es un plugin para ser agregado al SVN del IDE

multilenguajes eclipse.

Para instalar Subeclipse se debe:1. Abrir eclipse2. Ir a Ayuda (help), seleccionar Instalar nuevo software (Install new software)3. En Trabajar con... (work with) se debe seleccionar la opción “Subclipse

1.10.x Update Site - http://subclipse.tigris.org/update_1.10.x”4. Seleccionar los paquete que se desean (obligatoriamente Subeclipse)5. Continuar normalmente con la instalación.

Page 11: SVN básico Una guía para comenzar a utilizar Subversion.

Instalando TortoiseSVN TortoiseSVN es un software de control de versiones que provee una

interfaz fácil para utilizar Subversion (SVN).

Para instalar SVN se debe:1. Descargar la versión más actualizada de TortoiseSVN en

http://tortoisesvn.net/downloads.html 2. Hacer doble click en el archivo descargado para instalar el software3. Seguir los pasos del instalador hasta el final4. Una vez instalado, se puede hacer checkout de cualquier proyecto con sólo

presionar el botón derecho del ratón y seleccionar SVN Checkout.

> >

Page 12: SVN básico Una guía para comenzar a utilizar Subversion.

Información de estados TortoiseSVN utiliza ciertos colores y símbolos para identificar el

estado de los archivos en el proyecto.

Normal (normal) Modificado (modified) En confilcto (conflict) Bloqueado (locked – read only) Eliminado (deleted) Agregado (added) Ignorar (ignored) Sin versionar (not under version)

Page 13: SVN básico Una guía para comenzar a utilizar Subversion.

¿ Dudas?

Renato [email protected]

Diretor de Tecnologia da Informação+55 (61) 9994-2312

______________________________CJR - Empresa Júnior de Computação

+55 (61) 8447-8868 / 3107-6400www.cjr.org.br

______________________________Traducción

Patricia Ayuso [email protected]

______________________________Revisión

Mariana [email protected]