Date post: | 07-Apr-2018 |
Category: |
Documents |
Upload: | jose-arturo-palomino-higaonna |
View: | 226 times |
Download: | 0 times |
of 20
8/6/2019 Tutorial de Subversion-Eclipse
1/20
FACULTAD DE MATEMTICAS
Tutorial de Subversion
Uso del subversion desde el Eclipse y con elcliente TortoiseSVN
27/08/2009
Este tutorial tiene como objetivo sensibilizar a los desarrolladores del proyecto Scensy v2.0 en el
uso de la herramienta Subversion para la administracin de la documentacin y cdigo fuente
generado en el mismo.
8/6/2019 Tutorial de Subversion-Eclipse
2/20
Tutorial de Subversin
2
ContenidoRequerimientos ............................................................................................................................. 3
Uso del TortoiseSVN ...................................................................................................................... 4
Creando el repositorio con TortoiseSVN ..................................................................................... 4
Accediendo a un repositorio en una unidad de red..................................................................... 5
Confirmando sus cambios en el repositorio ................................................................................ 6
commit ................................................................................................................................... 6
Progreso de confirmacin .......................................................................................................... 8
Actualice su copia de trabajo con los cambios de otros .............................................................. 9
Resolviendo conflictos.............................................................................................................. 10
Conflictos de ficheros ........................................................................................................... 11
Conflictos de rbol ............................................................................................................... 12Borrado local, llega un cambio en la actualizacin ................................................................ 12
Edicin local, entra un borrado en la actualizacin ............................................................... 13
Eliminacin local, entra una eliminacin en la actualizacin ................................................. 14
Falta en local, entra un cambio en la fusin .......................................................................... 14
Uso del Subversive en el Eclipse ................................................................................................... 16
Crear un proyecto con conexin al repositorio a travs del Subversive ........................ ............. 16
Commit .................................................................................................................................... 19
8/6/2019 Tutorial de Subversion-Eclipse
3/20
Tutorial de Subversin
3
Requerimientos
1. Eclipse2. Instalacin del SVN Tortoise3. Instalacin Subversive en Eclipse
8/6/2019 Tutorial de Subversion-Eclipse
4/20
Tutorial de Subversin
4
Uso del TortoiseSVN
La herramienta TortoiseSVN se integra dentro del explorador de Windows. Para usar TortoiseSVN
es necesario abrir el explorador de Windows y hacer clic con el botn derecho del mouse en
cualquier carpeta que desees ejecutar algn comando del TortoiseSVN.
Creando el repositorio con TortoiseSVN
El men de TortoiseSVN para carpetas no versionadas
8/6/2019 Tutorial de Subversion-Eclipse
5/20
Tutorial de Subversin
5
1. Abra el explorador de Windows2. Cree una nueva carpeta y llmela por ejemplo scensy_repository3. Haga clic con el botn derecho sobre la carpeta recin creada y seleccione
TortoiseSVN Crear Repositorio aqu....
Accediendo a un repositorio en una unidad de red
Para utilizar TortoiseSVN (o cualquier otro cliente de Subversion), necesita un lugar dondeponer sus repositorios. Puede o bien almacenar sus repositorios de forma local y acceder aellos utilizando el protocolo file://, o puede ponerlos en un servidor y acceder a ellos conlos protocolos http:// o svn://. Los dos protocolos de servidor tambin pueden estarencriptados. Utilice https:// o svn+ssh://, o puede utilizar svn:// con SASL.
En el ambiente de desarrollo de Scensy, el repositorio estar almacenado remotamente,
por lo que se utilizar una ruta como ejemplo: svv://192.168.57.152/Devel, para ello esnecesario hacer clic en la opcin SVN Checkout
Luego de ello capturar la ruta anterior en el campo de texto y hacer clic en el botn con laetiqueta OK y en ese momento iniciara la descarga de la estructura de directorios yarchivos existentes en el repositorio remoto con el status correspondiente.
8/6/2019 Tutorial de Subversion-Eclipse
6/20
Tutorial de Subversin
6
La estructura de directorios generados tendr la siguiente estructura:
Una vez creada la estructura se puede trabajar como se acostumbra, creando documentos y
modificndolos (en este caso cambiar el status del archivo a modificado para posteriormente
hacerle un commit al repositorio remoto), de tal manera que al final de sus cambios pueda
subirlos en el repositorio remoto.
Confirmando sus cambios en el repositorio
Enviar los cambios que ha hecho al repositorio se conoce como confirmarlos cambios.Pero antes de confirmar tiene que estar seguro de que su copia de trabajo est actualizada.Puede o bien ejecutar SVN Update, o bien ejecutar TortoiseSVN Check formodifications primero, para ver qu se ha cambiado localmente o en el servidor.
commit
Si su copia de trabajo est actualizada y no hay conflictos, ya est preparado para confirmarsus cambios. Seleccione los ficheros y/o carpetas que desee confirmar y seleccione SVNcommit
8/6/2019 Tutorial de Subversion-Eclipse
7/20
Tutorial de Subversin
7
El dilogo de Confirmacin
El dilogo de confirmacin le mostrar todos los ficheros cambiados, incluso los ficheros
aadidos, borrados o no versionados. Si no desea que un fichero cambiado se confirme,simplemente desmarque ese fichero. Si desea incluir un fichero no versionado, mrquelopara aadirlo a la confirmacin.
Los tems que han sido cambiados a una ruta de repositorio diferente tambin se indicanutilizando un marcador (s). Puede haber cambiado algo mientras trabaja en una rama yhabrsele olvidado volver a cambiarlo al tronco. Este es su signo de advertencia!
8/6/2019 Tutorial de Subversion-Eclipse
8/20
Tutorial de Subversin
8
Progreso de confirmacin
Tras pulsar OK aparece un dilogo mostrando el progreso de la confirmacin.
Figura 4.10. El dilogo Progreso mostrando el progreso de una confirmacin
El dilogo de progreso utiliza una codificacin de colores para resaltar las diferentes
acciones de confirmacin:
Azul
Confirmando una modificacin.
Prpura
Confirmando un tem aadido.
Rojo oscuro
Confirmando un borrado o un reemplazo.
Negro
Todos los dems tems.
8/6/2019 Tutorial de Subversion-Eclipse
9/20
Tutorial de Subversin
9
Actualice su copia de trabajo con los cambios de otros
Dilogo de progreso mostrando una actualizacin terminada
Peridicamente, debera asegurarse de que los cambios que hacen los dems se incorporenen su copia de trabajo local. El proceso de incorporar los cambios desde el servidor a sucopia de trabajo local se conoce como Update. La actualizacin puede hacerse enficheros sueltos, en un conjunto de ficheros, o recursivamente en jerarquas completas de
directorios. Para actualizar, seleccione los ficheros y/o directorios que desee, haga clic conel botn derecho y seleccione SVN Update en el men contextual del explorador.Aparecer una ventana con el progreso de la actualizacin segn se ejecuta. Los cambiosque los dems hayan hecho se fusionarn con sus ficheros, manteniendo cualquier cambioque haya hecho en los mismos ficheros. El repositorio no se ve afectado por unaactualizacin.
El dilogo de progreso utiliza un cdigo de colores para resaltar diferentes acciones deactualizacin:
Prpura
Nuevo tem aadido a su copia de trabajo
Rojo oscuro
tem redundante borrado de su copia de trabajo, o tem faltante reemplazado en sucopia de trabajo.
8/6/2019 Tutorial de Subversion-Eclipse
10/20
Tutorial de Subversin
10
Verde
Cambios del repositorio que se han fusionado satisfactoriamente con sus cambioslocales.
Rojo brillante
Cambios del repositorio fusionados con sus cambios locales, pero que han dadolugar a conflictos que debe resolver.
Negro
tems sin cambios en su copia de trabajo actualizados con una versin ms nuevadesde el repositorio.
La opcin Update to version puede ser til a veces para ver cmo estaba su proyecto en
un momento anterior en su historia. Pero en general, actualizar ficheros individuales a unarevisin anterior no es una buena idea, ya que deja su copia de trabajo en un estadoinconsistente. Si el fichero que est actualizando ha cambiado de nombre, incluso puedeencontrar que ese fichero ha desaparecido de su copia de trabajo porque en esa revisin nohaba ningn fichero con ese nombre. Tambin debe tener en cuenta que el tem mostraruna sobreimpresin normal verde, por lo que no se puede distinguir del resto de ficherosque estn actualizados.
Resolviendo conflictos
De vez en cuando, obtendr un conflicto cuando actualice/fusione sus ficheros desde elrepositorio o cuando cambie su copia de trabajo a una URL diferente. Hay dos tipos deconflictos:
Conflictos de fichero
Un conflicto de fichero ocurre si dos (o ms) desarrolladores han cambiado lasmismas lneas de un fichero.
Conflictos de rboles
Un conflicto de rbol ocurre cuando un desarrollador mueve/renombra/elimina unfichero o una carpeta, que otro desarrollador tambin hamovido/renombrado/borrado, o quizs lo haya modificado.
8/6/2019 Tutorial de Subversion-Eclipse
11/20
Tutorial de Subversin
11
Conflictos de ficheros
Un conflicto de fichero ocurre cuando uno o ms desarrolladores han hecho cambios en lasmismas lneas de un fichero. Dado que Subversion no sabe nada de su proyecto, delega laresolucin de los conflictos en los desarrolladores. Cuando se le informa de un conflicto,
debera abrir el fichero en cuestin, y buscar lneas que empiecen con el texto
8/6/2019 Tutorial de Subversion-Eclipse
12/20
8/6/2019 Tutorial de Subversion-Eclipse
13/20
Tutorial de Subversin
13
El desarrollador B ahora tiene que elegir si mantiene los cambios realizados por eldesarrollador A. En el caso de un renombrado, puede fusionar los cambios de Foo.c dentrodel fichero renombrado Bar.c. Para simples borrados de ficheros o directorios puede elegirquedarse con los cambios del tem del desarrollador A y descartar el borrado. O, si marca elconflicto como resuelto sin hacer nada ms, estar descartando los cambios del
desarrollador A.El dilogo de editar conflictos ofrece la posibilidad de fusionar cambios si puede encontrarel fichero original del renombrado Bar.c. Dependiendo de dnde se haya realizado laactualizacin, puede que no sea posible encontrar el fichero de origen.
Edicin local, entra un borrado en la actualizacin
1. El desarrollador A mueve Foo.c a Bar.c y lo confirma en el repositorio.2.
El desarrollador B modifica Foo.c en su copia de trabajo.
O en el caso de mover una carpeta...
1. El desarrollador A mueve la carpeta padre FooFolder a BarFolder y lo confirmaen el repositorio.
2. El desarrollador B modifica Foo.c en su copia de trabajo.Una actualizacin de la copia de trabajo de B acaba con un conflicto de rbol. Para unconflicto simple de fichero:
Bar.c se aade a la copia de trabajo como un fichero normal.
Foo.c se marca como aadido (con historia) y tiene un conflicto de rbol.Para un conflicto de carpeta:
BarFolder se aade a la copia de trabajo como una carpeta normal. FooFolder se marca como aadida (con historia) y tiene un conflicto de rbol.
Foo.c se marca como modificado.
El desarrollador B tiene ahora que decidir si desea continuar con la reorganizacin del
desarrollador A y fusionar sus cambios en los ficheros correspondientes de la nuevaestructura, o simplemente revertir los cambios de A y mantener el fichero local.
Para fusionar sus cambios locales con la reorganizacin, el desarrollador B tiene queencontrar primero qu nombre de fichero tiene ahora el fichero en conflicto Foo.c que fuerenombrado/movido en el repositorio. Esto puede hacerse utilizando el dilogo de registro.Luego debe fusionar los cambios a mano ya que no hay actualmente forma de automatizaro simplificar este proceso. Una vez que se hayan portado los cambios, la ruta en conflicto
8/6/2019 Tutorial de Subversion-Eclipse
14/20
Tutorial de Subversin
14
es redundante y puede borrarse. En este caso utilice el botn Eliminar en el dilogo deeditar conflictos para limpiar y marcar el conflicto como resuelto.
Si el desarrollador B decide que los cambios de A eran errneos deber elegir el botnMantener en el dilogo de editar conflictos. Esto marca el fichero o carpeta en conflicto
como resuelto, pero los cambios del desarrollador A tendrn que eliminarse a mano. Denuevo el dilogo de registro ayuda a controlar lo que se ha movido.
Eliminacin local, entra una eliminacin en la actualizacin
1. El desarrollador A mueve Foo.c a Bar.c y lo confirma en el repositorio2. El desarrollador B mueve Foo.c a Bix.c
Una actualizacin de la copia de trabajo del desarrollador B acaba con un conflicto derbol:
Bix.c se marca como aadido con historia. Bar.c se aade a la copia de trabajo con el estado 'normal'. Foo.c se marca como borrado y tiene un conflicto de rbol.
Para resolver este conflicto, el desarrollador B tiene que averiguar qu nombre de ficherotiene ahora el fichero en conflicto Foo.c que fue renombrado/movido en el repositorio.Esto puede hacerse utilizando el dilogo de registro.
Luego el desarrollador B tiene que decidir qu nuevo nombre de fichero de Foo.c mantiene
- el del desarrollador A o el renombrado que hizo l mismo.Despus de que el desarrollador B haya resuelto manualmente el conflicto, el conflicto derbol debe marcarse como resuelto mediante el botn del dilogo de editar conflictos.
Falta en local, entra un cambio en la fusin
1. El desarrollador A, que est trabajando en el tronco, modifica Foo.c y lo confirmaen el repositorio
2. El desarrollador B, que est trabajando en una rama, mueve Foo.c a Bar.c y loconfirma en el repositorio
Una fusin de los cambios en el tronco del desarrollador A con los cambios de la copia detrabajo de la rama del desarrollador B acaba con un conflicto de rbol:
Bar.c ya est en la copia de trabajo con estado 'normal'. Foo.c se marca como faltante con un conflicto de rbol.
8/6/2019 Tutorial de Subversion-Eclipse
15/20
Tutorial de Subversin
15
Para resolver este conflicto, el desarrollador B tiene que marcar el fichero como resuelto enel dilogo de edicin de conflictos, lo que lo eliminar de la lista de conflictos. Luegotendr que decidir si copia el fichero faltante Foo.c desde el repositorio a la copia detrabajo, si fusiona los cambios del desarrollador A hechos a Foo.c en el ficherorenombrado Bar.c, o si desea ignorar los cambios marcando el conflicto como resuelto y
no haciendo nada ms.Tenga en cuenta que si copia el fichero faltante desde el repositorio y luego marca comoresuelto, su copia de eliminar de nuevo. Tiene que resolver el conflicto antes.
8/6/2019 Tutorial de Subversion-Eclipse
16/20
Tutorial de Subversin
16
Uso del Subversive en el Eclipse
El Subversive es un plugin que se instala en el Eclipse, el cual, nos permite interactuar
directamente nuestros proyectos de eclipse con los repositorios locales y remotos que trabajan
con Subversion, esto nos permite una mayor facilidad a la hora de programar.
Crear un proyecto con conexin al repositorio a travs del Subversive
Para tener un proyecto con subversion, es necesario, crear la estructura del proyecto (Proyecto
Web, proyecto bsico, Web Services, etc.). Una vez que tengamos nuestro proyecto creado con el
eclipse, hacemos clic con el botn derecho del mouse sobre el proyecto y seleccionamos la opcin
Team>Share Project.
Seleccionar la opcinSVN
de la ventana Share Project y seleccione
Next >
.
8/6/2019 Tutorial de Subversion-Eclipse
17/20
Tutorial de Subversin
17
Capturar los valores de conexin y autentificacin al repositorio remoto y seleccione Next >:
Seleccionar la ruta y el nombre de localizacin del proyecto en el repositorio remoto y seleccione
Next >:
8/6/2019 Tutorial de Subversion-Eclipse
18/20
Tutorial de Subversin
18
Captura algn comentario que tendr el commit (En este caso es el commit inicial al repositorio
remoto) y haz clic en Finish
Al finalizar este proceso, se descarga la versin ms reciente que hay en el repositorio de
Subversion.
8/6/2019 Tutorial de Subversion-Eclipse
19/20
Tutorial de Subversin
19
Para ver todas las opciones que tiene el Subversive en el eclipse, es hacer clic derecho del mousesobre el proyecto y seleccionar la opcin Team.
Commit
Durante el desarrollo, es normal que los programadores realicen cambios a los archivos ya
existentes o incluso agregar nuevos archivos de cdigo fuente o libreras. Por lo tanto es necesario
agregar estos cambios al repositorio del control de versiones. Para esto, es importante sincronizar
8/6/2019 Tutorial de Subversion-Eclipse
20/20
Tutorial de Subversin
20
nuestro proyecto con el repositorio remoto en busca de inconsistencias (Team Sinchronizewith Repository):
En la ventana anterior, se puede ver todos los cambios que ha realizado y que han realizado los
dems desarrolladores en el ambiente de desarrollo. Adems de encontrar inconsistencias como
la modificacin de la misma lnea de un mismo archivo del cdigo fuente. En esta ventana se
puede seleccionar elemento a elemento o seleccionar varios a la vez, a travs del botn derecho
sobre el o los archivos con el mouse y seleccionar la opcin commit. De la misma forma, de
existir cambios que no tienes en tu proyecto puedes seleccionarlos y utilizar la opcin Update, la
cual actualizar los cambios a tu proyecto local. En el caso de existir inconsistencias, se puede
hacer doble clic al archivo y verificar en que lnea estn las inconsistencias, de tal forma que se
pueda resolver de manera manual o seleccionar cualquiera de las opciones Override and Commint
y Override and Update. Las cuales reemplazarn el archivo en el repositorio remoto
reemplazarn los cambios en tu proyecto local respectivamente.