Guia Uso Subversion-Eclipse

26
MANUAL INTERNO Guía de Uso de Subversion Versión 1.2 Área de Integración y Arquitectura de Aplicaciones

Transcript of Guia Uso Subversion-Eclipse

Page 1: Guia Uso Subversion-Eclipse

MANUAL INTERNO

Guía de Uso de Subversion

Versión 1.2

Área de Integración y Arquitectura de Aplicaciones

Page 2: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

2 de 26

Hoja de Control

Título Guía de Uso de Subversion

Documento de Referencia

Responsable Área de Integración y Arquitectura de Aplicaciones

Versión 1.2 Fecha Versión 26/03/2012

Registro de Cambios

Versión Causa del Cambio Responsable del Cambio Fecha del Cambio

1.0 Versión inicial del documento Área de Integración y Arquitectura de

Aplicaciones 02/06/2011

1.1 Añadidas instrucciones para “Revert” y marcar un directorio como “Derived”.

Área de Integración y Arquitectura de

Aplicaciones 03/06/2011

1.2 Modificado el nombre del tag, incluido nombre del módulo que se entrega

Área de Integración y Arquitectura de

Aplicaciones 23/09/2011

Page 3: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

3 de 26

Índice

1. INTRODUCCIÓN ................................................................................................................................................................ 4

1.1. AUDIENCIA OBJETIVO .............................................................................................................................................. 4 1.2. CONOCIMIENTOS PREVIOS ...................................................................................................................................... 4

2. ESTRUCTURA DE REPOSITORIOS DE SUBVERSION EN ICM .............................................................................. 5

3. INSTALACIÓN DEL PLUGIN DE SUBVERSION PARA ECLIPSE ........................................................................... 7

4. USO BÁSICO DE SUBVERSION..................................................................................................................................... 10

4.1. AÑADIR UN REPOSITORIO ...................................................................................................................................... 10 4.2. DESCARGAR UN PROYECTO .................................................................................................................................. 12 4.3. VER DIFERENCIAS ENTRE EL PROYECTO LOCAL Y EL REPOSITORIO ......................................................... 14 4.4. ACTUALIZAR LA COPIA LOCAL ............................................................................................................................ 15 4.5. SUBIR LOS CAMBIO LOCALES AL REPOSITORIO .............................................................................................. 17 4.6. VER LOS CAMBIOS QUE SE HAN HECHO SOBRE UN DIRECTORIO O FICHERO ........................................... 19 4.7. DESHACER LOS CAMBIOS LOCALES.................................................................................................................... 20 4.8. MARCAR UN DIRECTORIO PARA QUE NUNCA SE SUBA AL REPOSITORIO ................................................. 22

5. REALIZACIÓN DE UNA ENTREGA PARA SU INSTALACIÓN EN LOS ENTORNOS DE ICM ........................ 23

Page 4: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

4 de 26

1. INTRODUCCIÓN

En este documento se explica el uso de la herramienta de control de versiones Subversion para el desarrollo y

mantenimiento de aplicaciones para ICM. En él se explica la instalación del plugin de Subversion para el entorno

de desarrollo Eclipse, así como el uso de este plugin para subir modificaciones al repositorio y realizar entregas

para su instalación en los distintos entornos de ICM.

1.1. AUDIENCIA OBJETIVO

Este documento va dirigido a todas aquellas personas que requieran usar Subversion para desarrollar o mantener

aplicaciones para ICM.

1.2. CONOCIMIENTOS PREVIOS

Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre el entorno de

desarrollo Eclipse V3.5 (Galileo).

Page 5: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

5 de 26

2. ESTRUCTURA DE REPOSITORIOS DE SUBVERSION EN ICM

Todo proyecto en ICM desarrollado con ATLAS tiene un repositorio de Subversion propio. Se puede acceder al

repositorio de un determinado proyecto utilizando cualquier cliente de Subversion (como SlikSVN, TortoiseSVN,

Subclipse, etc.), o también utilizando un browser y accediendo a la URL del repositorio.

URL del servidor de Subversion de un proyecto

URL:

https://RutaServidorSVN/svn/ProyectoMinusculas/

Valores de las variables:

RutaServidorSVN: Ruta del servidor de Subversion (por defecto

es https://subversion01:8443 )

ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej:

bsta).

Ejemplo:

https://subversion01:8443/svn/bsta/

Si accedemos con un explorador a la URL de un repositorio podemos navegar por su contenido:

Nota

Cada repositorio de un proyecto tiene asignada una seguridad para que sólo las

personas autorizadas puedan ver el código y realizar modificaciones sobre él.

Page 6: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

6 de 26

Todo repositorio de un proyecto en ICM tiene la misma estructura, que consiste en las siguientes carpetas:

entregas: Cada vez que se desea instalar un proyecto o módulo en cualquier entorno de ICM, se crea

una “foto” del código en un momento determinado, que será la que se instale en el entorno deseado.

En la nomenclatura de Subversion, una foto congelada del código se denomina TAG. Todos los tags

creados para instalar en los distintos entornos de ICM se crean en esta carpeta “entregas”.

instalaciones: Se trata de una carpeta de uso interno por las unidades de Paso a Producción y

Recepción de Aplicaciones.

vXXXX: Cada versión de desarrollo que se mantenga para el proyecto tendrá una carpeta específica.

Por ejemplo, si se está desarrollando una nueva versión del proyecto y a la vez se está realizando

mantenimiento correctivo sobre el actual, habrá dos carpetas, una para cada versión.

Page 7: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

7 de 26

3. INSTALACIÓN DEL PLUGIN DE SUBVERSION PARA ECLIPSE

Para que desde Eclipse se pueda acceder a proyectos que se encuentran en un repositorio de subversion es

necesario instalar un plugin llamado Subclipse.

Nota

Si en este momento el lector no tiene instalado en su máquina el entorno de

desarrollo de aplicaciones Eclipse, se puede optar por una de las siguientes

opciones:

1) Seguir los pasos del manual

“ATLAS_MUS_Preparacion_Entorno_Desarrollo.doc” en el que se

describe cómo instalar el entorno de desarrollo.

2) Utilizar el CD de Desarrollo y Mantenimiento de aplicaciones ATLAS

que incluye todo lo necesario para comenzar a desarrollar/mantener

aplicaciones.

La forma recomendada para la instalación del plugin de Subclipse es mediante la URL de update de plugin

http://subclipse.tigris.org/update_1.6.x tal y como se indica a continuación.

Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre

“Add…” para agregar una nueva dirección:

Page 8: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

8 de 26

Una vez añadido el sitio, seleccionamos los plugins según la siguiente pantalla:

Page 9: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

9 de 26

Con esto habremos completado la instalación del plugin. Si se nos solicita que reiniciemos el entorno, aceptaremos

para que Eclipse vuelva a arrancar con el plugin instalado.

Page 10: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

10 de 26

4. USO BÁSICO DE SUBVERSION

Para poder utilizar la funcionalidad que nos ofrece el plugin Subclipse, debemos acceder a una vista especial

llamada “SVN”. Para ello, desde la perspectiva java por defecto seleccionaremos en el menú la opción Window-

>Show View->Other->SVN y seleccionaremos la opción SVN repositories. Otra opción es pulsar directamente

sobre el icono de la vista de SVN en la parte superior derecha de Eclipse según se muestra en la siguiente figura:

4.1. AÑADIR UN REPOSITORIO

Una vez que estamos en la vista “SVN Repositories”, lo primero que debemos hacer es añadir un repositorio de

Subversion a esta vista, para poder comenzar a realizar acciones sobre él. Para mostrar los repositorios instalados

actualmente, debemos pulsar sobre el icono “SVN Repositories” situado en la zona inferior izquierda de la pantalla,

según se muestra en la siguiente figura:

Page 11: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

11 de 26

Para añadir un nuevo repositorio, pulsamos con el botón derecho sobre el listado de repositorios, y seleccionamos

“New -> Repository Location”:

Page 12: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

12 de 26

Introducimos entonces la URL del repositorio de Subversion que deseamos añadir, y pulsamos sobre el botón

“Finish”:

En este momento ya podemos navegar por el repositorio de Subversion recién añadido.

4.2. DESCARGAR UN PROYECTO

Para descargar un proyecto del repositorio de Subversion a nuestra máquina local, debemos situarnos sobre el

Page 13: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

13 de 26

directorio raíz del proyecto que deseamos descargar, pulsar con el botón derecho y seleccionar la opción

“Checkout”:

En el cuadro de diálogo que aparece, debemos seleccionar la opción “Checkout as a Project in the Workspace”,

y escribir el nombre que queremos dar al proyecto en nuestra máquina. Pulsaremos directamente sobre “Finish”, y

con esto habremos concluido con la descarga del proyecto.

Si volvemos a la perspectiva habitual “Java, o J2EE” pulsando sobre el botón correspondiente del listado de

perspectivas , podemos ver cómo se ha añadido el nuevo proyecto a nuestro Workspace.

Page 14: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

14 de 26

4.3. VER DIFERENCIAS ENTRE EL PROYECTO LOCAL Y EL REPOSITORIO

Mientras que nos encontramos trabajando con nuestra copia local del proyecto, es posible que otros

desarrolladores hayan subido sus modificaciones al repositorio. Para ver las diferencias entre nuestra copia local y

la última versión del repositorio, pulsamos con el botón derecho sobre el proyecto y seleccionamos “Team ->

Synchronize with repository”:

Page 15: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

15 de 26

Se muestra entonces una ventana con las diferencias entre nuestra copia local y el repositorio remoto. En el

siguiente ejemplo, según la forma de las fechas puede verse cómo se ha modificado en local el fichero “823E4.rtf”,

se han añadido en local los ficheros “.project” y “PRUEBA.rtf”, y alguien modificó en el repositorio remoto el fichero

“823E2.rtf”:

4.4. ACTUALIZAR LA COPIA LOCAL

Si queremos actualizar nuestra copia local con las últimas versiones del repositorio remoto, debemos pulsar con el

botón derecho sobre la carpeta o ficheros que queremos actualizar, y seleccionamos “Team -> Update to HEAD”.

Page 16: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

16 de 26

Con esto quedará actualizado el proyecto local con las últimas versiones del repositorio.

Nota

Si al actualizar el proyecto local alguien modificó un fichero que nosotros

también hemos modificado, Subversion NUNCA machacará nuestra copia local

(no perderemos nuestros cambios). Dependiendo del tipo de fichero:

- Si se trata de un fichero binario, Subversion nos informa del conflicto y

debemos resolverlo.

- Si se trata de un fichero de texto: Subversion intenta automáticamente

juntar los dos cambios en el fichero local (operación merge). Si es

posible lo hace, y si no nos informa del conflicto.

Para ver los ficheros que se han modificado, así como todas las acciones que vamos realizando con Subversion,

podemos mostrar la consola de Subversion en la parte inferior de la pantalla. Para ello pulsamos sobre el botón

situado en la parte superior de la consola de Eclipse, y en el desplegable que aparece seleccionamos “SVN

Console”:

Page 17: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

17 de 26

En ese momento podemos ver en la consola todas las acciones que se han ido realizando con Subversion:

4.5. SUBIR LOS CAMBIO LOCALES AL REPOSITORIO

Si hemos realizado modificaciones en nuestro proyecto, los ficheros modificados se mostrarán con un asterisco en

la zona inferior derecha del icono, y los añadidos con una interrogación:

Para subir los cambios realizados al repositorio, pulsaremos con el botón derecho sobre la carpeta o ficheros que

queremos actualizar, y seleccionamos “Team -> Commit…”.

Page 18: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

18 de 26

En ese momento se mostrará un cuadro de diálogo en el que debemos introducir un texto indicando los cambios

que hemos realizado, y podemos seleccionar cuáles de todos los ficheros modificados deseamos subir:

Introduciremos la descripción del cambio y pulsaremos sobre “OK”.

Page 19: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

19 de 26

Nota

Aunque subversion permite subir modificaciones al repositorio dejando el campo

de comentario vacío, esto no se considera una buena práctica.

Siempre que se suba alguna modificación al repositorio se introducirá un

comentario describiendo el cambio.

4.6. VER LOS CAMBIOS QUE SE HAN HECHO SOBRE UN DIRECTORIO O FICHERO

En ocasiones queremos ver el histórico de cambios que se han realizado sobre un directorio o fichero del

repositorio de Subversion. Para hacerlo, pulsaremos con el botón derecho sobre la carpeta o fichero, y

seleccionamos “Team -> Show History”.

Se mostrará entonces en la zona de la consola el histórico de modificaciones:

Page 20: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

20 de 26

Si deseamos ver las diferencias entre dos versiones concretas del código, mantenemos la tecla “Control” del

teclado pulsada, y seleccionamos las dos versiones que queremos comparar. Pulsamos entonces con el botón

derecho sobre ellas y seleccionamos la opción “Compare…”:

En el desplegable que aparece pulsamos “OK” y podemos entonces ver las diferencias entre las versiones:

4.7. DESHACER LOS CAMBIOS LOCALES

En ocasiones queremos deshacer las modificaciones que hemos realizado en local, y dejar nuestra copia local

exactamente igual que la versión que hay en el repositorio. Para hacerlo, pulsaremos con el botón derecho sobre la

carpeta o fichero, y seleccionamos “Team -> Revert”.

Page 21: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

21 de 26

En la siguiente pantalla se muestran los archivos que tenemos modificados en local. Para confirmar que deseamos

deshacer estos cambios pulsamos sobre “OK”, y la versión local quedará igual que la del repositorio:

Page 22: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

22 de 26

4.8. MARCAR UN DIRECTORIO PARA QUE NUNCA SE SUBA AL REPOSITORIO

En ocasiones tenemos un directorio en local que nunca queremos que sea subido al repositorio de subversion (por

ejemplo, el directorio donde está el código compilado de nuestro proyecto). Para marcar este directorio de forma

que nunca se suba al repositorio, pulsaremos con el botón derecho sobre la carpeta, y seleccionamos

“Properties”. En el cuadro de diálogo de propiedades de la carpeta, marcaremos la casilla “Derived”:

De esta forma, Subversion no tendrá en cuenta esta carpeta a la hora de subir los cambios al repositorio.

Nota

Eclipse utiliza la casilla “Derived” para otras funciones además de para excluir la

carpeta del repositorio de Subversion. Por ejemplo, al realizar una búsqueda de

un fichero dentro de un proyecto, no se buscará dentro de las carpetas

marcadas como “Derived”.

Page 23: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

23 de 26

5. REALIZACIÓN DE UNA ENTREGA PARA SU INSTALACIÓN EN LOS ENTORNOS DE ICM

Para poder pasar una versión de nuestro proyecto a cualquiera de los entornos de ICM (validación, producción,

etc.) es necesario realizar una “foto” del código en un momento determinado, que será la que se instale en el

entorno deseado. En la nomenclatura de Subversion, una foto congelada del código se denomina TAG. Por tanto,

para pasar una versión a cualquier entorno de ICM se ha de crear un TAG, en la carpeta “entregas” del repositorio

del proyecto.

Para crear el TAG, pulsaremos con el botón derecho sobre la carpeta o ficheros que queremos actualizar, y

seleccionamos “Team -> Branch/Tag…”.

En ese momento aparece un cuadro de diálogo en el que debemos introducir la URL del repositorio en la que

queremos crear el TAG. La URL tendrá el formato que se indica en el siguiente cuadro:

Page 24: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

24 de 26

URL del servidor de Subversion para crear un TAG

URL:

https://RutaServidorSVN/svn/ProyectoMinusculas/entregas/Fecha_NOMBREMO

DULO_Version

Valores de las variables:

RutaServidorSVN: Ruta del servidor de Subversion (por defecto

es https://subversion01:8443 )

ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej:

bsta).

NOMBREMODULO: Nombre del módulo instalado EN MAYÚSCULAS. Si

se solicitase el paso de varios módulos o el nombre del

módulo fuese muy largo, puede utilizarse una abreviatura de

los módulos.

Fecha: Fecha en la que se crea el TAG, con formato AAAAMMDD

Version: Versión de la que se trata (puede haber dos

versiones paralelas, una para evolutivo y otra para

correctivo). Ej: v0

Ejemplo:

https://subversion01:8443/svn/bsta/entregas/PRODUCCION_20110602_PLANTI

LLAS_v0

En el cuadro de diálogo, introducimos la URL del TAG y nos aseguramos de que está activada la casilla “Create

any intermediate folders that are missing”:

Page 25: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

25 de 26

Pulsamos sobre “Next”, y en la siguiente pantalla dejamos seleccionada la opción por defecto “Head revision in the

repository”, y volvemos a pulsar sobre “Next”. Esto indica a Subversion que se cree el TAG con la última versión

que hay en el repositorio.

Nota

Como el TAG se crea con la última versión del código que hay subido al

repositorio, es imprescindible recordar subir las modificaciones que tenemos en

local al repositorio antes de crear el TAG.

En la siguiente pantalla debemos introducir un comentario indicando el motivo de la creación del TAG, y pulsar

sobre “Finish”:

Page 26: Guia Uso Subversion-Eclipse

Framework Atlas

Guía de Uso de Subversion

26 de 26

Con esto hemos finalizado la creación del TAG. Podemos comprobar que el TAG está creado correctamente

volviendo a la perspectiva “SVN Repositories” y navegando por el servidor hasta el TAG recién creado: