svn básico una guía para comenzar a utilizar subversion
TRANSCRIPT
SVNbásicoUna 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.
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).
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”.
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)
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).
Figura 1.4 La solución copy-modify-merge Figura 1.5 La solución copy-modify-merge (continuación)
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.
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
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.
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.
> >
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)
¿ 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]