Ir al contenido principal

Manual Tortoise

Subversion es una herramienta libre bajo licencia Apache/BSD y es desarrollado por Collabnet. Una de las características más importantes que tiene Subversion es que sus revisiones son atómicas, es decir, que todo el proyecto se guarda con un nuevo número de revisión a diferencia de CVS que creaba una nueva revisión por cada archivo. 



TortoiseSVN es un cliente gratuito de código abierto para el sistema de control de versiones Subversion. Es decir, TortoiseSVN maneja ficheros y directorios a lo largo del tiempo. Los ficheros se almacenan en un repositorio central. El repositorio es prácticamente lo mismo que un servidor de ficheros ordinario, salvo que recuerda todos los cambios que se hayan hecho a sus ficheros y directorios. Esto permite que pueda recuperar versiones antiguas de sus ficheros y examinar la historia de cuándo y cómo cambiaron sus datos, y quién hizo el cambio. 


Como cualquier herramienta de Gestión de la Configuración de Software (SCM), Subversion tiene capacidad de: 

  • Controlar el estado de un producto. 
  • Construir el producto. 
  • Administración del tiempo de desarrollo. 
  • Hacer que el esfuerzo sea conjunto.

La versión utilizada en el manual es la 1.6.

Funciones básicas

Una de las funciones más visibles de TortoiseSVN son los iconos sobreimpresionados que aparecen en los ficheros de su copia de trabajo. Estos te muestran de un vistazo qué ficheros han sido modificados.

Explorador mostrando iconos sobreimpresionados





Normal


Una copia de trabajo recién obtenida tiene una marca verde como sobreimpresión. Esto significa que el estado de Subversion es normal o actualizado del repositorio.



Modified

En cuanto empiece a editar un fichero, el estado cambia a modificado y el icono sobreimpresionado cambia entonces a una marca de exclamación roja. De esta forma puede ver fácilmente qué ficheros se han cambiado desde la última vez que actualizó su copia de trabajo, y que necesitan ser confirmados.


Conflicted

Si durante una actualización ocurre un conflicto, el icono cambia a un signo de exclamación amarillo.


Readonly

Si ha establecido la propiedad svn:needs-lock en un fichero, Subversion establece ese fichero como de sólo-lectura hasta que obtenga un bloqueo en él. Estos ficheros tienen esta sobreimpresión para indicarle que debe obtener un bloqueo antes de que pueda editarlo.


Locked

Si ha obtenido un bloqueo sobre un fichero, y el estado de Subversion es normal, este icono sobreimpresionado le recordará que debería liberar el bloqueo si no lo está utilizando para permitir a los demás que puedan confirmar sus cambios en el fichero.



Deleted

Este icono le muestra que algunos ficheros o carpetas dentro de la carpeta actual se han marcado para ser eliminados del control de versiones, o bien que falta un fichero que está bajo el control de versiones dentro de una carpeta.



Added

El signo más le indica que el fichero o carpeta está programado para ser añadido al control de versiones.


Ignored

La barra le indica que el fichero o carpeta está ignorado para los asuntos de control de versiones. Esta sobreimpresión es opcional.


Non-version

Este icono muestra los archivos y carpetas que no están bajo el control de versiones pero tampoco han sido ignorados. Esta sobreimpresión es opcional.

Menus contextuales






Todos los comandos de TortoiseSVN se invocan desde el menú contextual del explorador de Windows. La mayoría se ven directamente, cuando hace click con el botón derecho en un fichero o una carpeta. Los comandos disponibles dependen de si el fichero o la carpeta o su carpeta padre está bajo el control de versiones o no. También puede ver el menú de TortoiseSVN como parte del menú archivo del explorador.





Menú contextual para un directorio bajo control de versiones

Autenticación

Si el repositorio al que intenta acceder está protegido por contraseña, aparecerá un diálogo de autentificación. 


Diálogo de autenticación

Para recordar el usuario y contraseña y no tener que introducirlos con cada operación realizada con TortoiseSVN debemos marcar la casilla Guardar autenticación.

Copia de trabajo


Para tener una copia de trabajo necesita obtener una URL de un repositorio. Nuestro repositorio tendrá la URL https://server:8443/svn/Repositorio. Seleccione un directorio en el explorador de Windows donde quiera poner su copia de trabajo. Haga click con el botón derecho para mostrar el menú contextual y seleccione el comando TortoiseSVN ->Obtener..., que mostrará el siguiente cuadro de diálogo:


 Diálogo Obtener

Si introduce un nombre de carpeta que no aún no exista, se creará un directorio con ese nombre.

Puede elegir la profundidad que desea para la obtención, lo que le permite especificar la profundidad de la recursión en las carpetas hijas. Si sólo desea unas pocas secciones de un árbol grande, puede obtener sólo la carpeta de más alto nivel, y luego actualizar las carpetas seleccionadas de forma recursiva.

Totalmente recursivo
Obtener el árbol entero, incluyendo todas las carpetas hijas y subcarpetas.

Hijos inmediatos, incluyendo carpetas
Obtener el directorio especificado, incluyendo todos los ficheros y carpetas hijas, pero no rellena las carpetas hijas.

Sólo los ficheros hijos
Obtener la carpeta especificada, incluyendo todos los ficheros pero no obtener ninguna carpeta hija.

Sólo este ítem
Obtener sólo el directorio. No rellenarlo con ficheros ni carpetas hijas.


Confirmación de cambios


Enviar los cambios que ha hecho al repositorio se conoce como confirmar los cambios. Pero antes de confirmar tiene que estar seguro de que su copia de trabajo está actualizada. Puede o bien ejecutar TortoiseSVN->Actualizar directamente, o bien ejecutar TortoiseSVN->ComprobarModificaciones primero, para ver qué se ha cambiado localmente o en el servidor.

Cuando confirma ficheros, el diálogo de confirmación sólo le enseña los ficheros que ha seleccionado. Cuando confirma una carpeta el diálogo de confirmación seleccionará los ficheros que han cambiado de forma automática. Si se olvidó un fichero nuevo que haya creado, al confirmar la carpeta lo encontrará.

Si su copia de trabajo está actualizada y no hay conflictos, ya está preparado para confirmar sus cambios. Seleccione los ficheros y/o carpetas que desee confirmar y seleccione TortoiseSVN -> Confirmar.

Diálogo de confirmación

El diálogo de confirmación le mostrará todos los ficheros cambiados, incluso los ficheros añadidos, borrados o no versionados. Si no desea que un fichero cambiado se confirme, simplemente desmarque ese fichero. Si desea incluir un fichero no versionado, márquelo para añadirlo a la confirmación.

Haciendo doble click en cualquier fichero modificado en el diálogo de confirmación, se lanzará la herramienta externa de diferencias para mostrarle sus cambios. El menú contextual le proporciona más opciones, como se ve en la captura de pantalla. También puede arrastrar ficheros desde aquí a otra aplicación, como un editor de textos o un IDE.

Por defecto cuando confirma los cambios, cualquier bloqueo que tenga en los ficheros se libera automáticamente cuando la confirmación tiene éxito. Si desea mantener esos bloqueos, asegúrese de que la casilla Mantener bloqueos está marcada. El estado por defecto de esta casilla se toma de la opción no_unlock del fichero de configuración de Subversion.

Asegúrese de introducir un mensaje de registro que describa los cambios que está confirmando. Esto le ayudará a saber qué ocurrió y cuando según navegue por los mensajes de registro del proyecto en el futuro.

Puede reutilizar mensajes de registro que haya introducido anteriormente. Tan sólo debe pulsar en Mensajes recientes para ver una lista de los últimos mensajes que ha introducido para esta copia de trabajo. El número de mensajes almacenados se puede personalizar en el diálogo de configuración de TortoiseSVN.

Diálogo de progreso de confirmación

Actualización de cambios

Periódicamente, debería asegurarse de que los cambios que hacen los demás se incorporen en su copia de trabajo local. El proceso de incorporar los cambios desde el servidor a su copia de trabajo local se conoce como actualización. La actualización puede hacerse en ficheros sueltos, en un conjunto de ficheros, o recursivamente en jerarquías completas de directorios. Para actualizar, seleccione los ficheros y/o directorios que desee, haga click con el botón derecho y seleccione TortoiseSVN -> Actualizar en el menú contextual del explorador. Aparecerá una ventana con el progreso de la actualización según se ejecuta. Los cambios que los demás hayan hecho se fusionarán con sus ficheros, manteniendo cualquier cambio que haya hecho en los mismos ficheros. El repositorio no se ve afectado por una actualización.


Diálogo de actualización

Cuando se completa la actualización, el diálogo de progreso le muestra un resumen con el número de ítems actualizados, añadidos, eliminados, en conflicto, etc. bajo la lista de ficheros.

El comando Actualizar estándar no tiene opciones y simplemente actualiza su copia de trabajo a la revisión HEAD del repositorio, lo que es el caso de uso más común. Si desea más control sobre el proceso de actualización, debería utilizar TortoiseSVN ->Actualizar a la revisión N. Cada vez que se confirma algún campo en el repositorio se obtiene una nueva revisión del mismo. Esto le permite actualizar su copia de trabajo a una revisión específica, no sólo a la más reciente.

Si desea simplemente una copia local de una versión antigua de un fichero, es mejor utilizar el comando Menú contextual -> Guardar revisión en... desde el diálogo de registro para dicho fichero.


Estado local y remoto

A menudo es muy útil saber qué ficheros he cambiado y también qué ficheros han cambiado y confirmado los demás. Ahí es donde viene bien el comando TortoiseSVN -> Comprobar Modificaciones.... Este diálogo le muestra todos los ficheros que ha cambiado de alguna forma en su copia de trabajo, y además todos los ficheros no versionados que pueda tener.

Si pulsa en el botón Comprobar Repositorio también puede comprobar los cambios en el repositorio. De esa forma puede comprobar antes de hacer una actualización si es posible que haya un conflicto

También puede revertir cambios en ficheros individuales. Si ha borrado un fichero de forma accidental, se mostrará como Falta y puede utilizar la opción Menú Contextual -> Revertir. Los ficheros sin versionar y los ignorados se pueden enviar a la papelera de reciclaje desde aquí utilizando Menú Contextual -> Eliminar.


Comprobar modificaciones
Registro de revisiones (log)

Para cada cambio que haga y confirme, debería proporcionar un mensaje de registro de ese cambio. Así podrá averiguar después qué cambios hizo y por qué, y tendrá un registro detallado para su proceso de desarrollo.

El diálogo de Registro de revisiones recopila todos esos mensajes de registro y se los enseña. La pantalla se divide en tres paneles:

  • El panel superior le muestra una lista de revisiones donde se confirmaron cambios a los ficheros/carpetas. Este sumario incluye la fecha y la hora, la persona que confirmó la revisión y el inicio del mensaje de registro. Las líneas azules indican que algo se ha copiado a esta línea de desarrollo (quizás desde una rama).
  • El panel medio le muestra el mensaje de registro completo para la revisión seleccionada.
  • El panel inferior le muestra una lista de todos los ficheros y carpetas que se cambiaron. como parte de la revisión seleccionada.
Registro de revisiones o log del repositorio
Hay varios lugares desde los que puede mostrar el diálogo de Registro:

  • Desde el submenú contextual de TortoiseSVN (Mostrar registro).
  • Desde la página de propiedades.
  • Desde el diálogo de Progreso después de que termine una actualización. En ese caso el diálogo de Registro sólo le mostrará aquellas revisiones que cambiaron desde su última actualización.

  
El panel superior tiene una columna Acciones que contiene iconos que resumen qué se ha hecho en esa revisión. Hay cuatro iconos diferentes para cada acción de una revisión del repositorio sobre un fichero.

Navegador de repositorio 

A veces necesitará trabajar directamente en el repositorio, sin tener una copia de trabajo. Ésa es la razón por la que existe el Navegador de Repositorios. Igual que el Explorador y los iconos sobreimpresionados le permiten ver su copia de trabajo, el navegador de repositorios le permite ver la estructura y el estado del repositorio.

Navegador de repositorio


Con el navegador de repositorios puede ejecutar comandos como copiar, mover, renombrar...directamente en el repositorio. El navegador de repositorios se parecerá al explorador de Windows, excepto que está mostrando el contenido del repositorio en una revisión concreta en vez de los ficheros de su ordenador. En el panel izquierdo puede ver un árbol de directorios, y en el panel derecho están los contenidos del directorio seleccionado.


En la parte superior de la ventana del visor de repositorios puede introducir la URL del repositorio y la revisión que desea visualizar. Al igual que el explorador de Windows, puede pulsar sobre los encabezados de las columnas en el panel derecho si desea establecer la ordenación. Y como en el explorador hay menús contextuales en ambos paneles.

Resumen funciones Tortoise SVN

COMANDO
EXPLICACIÓN
SVN Commit / SVN Confirmar
Confirma los cambios locales al repositorio
SVN Update / SVN Actualizar
Actualiza en nuestra copia local la última versión de todos los archivos modificados en el repositorio
Revert / Revertir
Deshace los cambios realizados en la máquina local y actualiza los ficheros seleccionados a la última versión del repositorio
Get lock / Obtener bloqueo
Obtiene el acceso exclusivo sobre un fichero(s) del repositorio. El resto de usuarios no podrán sobrescribir este fichero en el repositorio hasta que no hay sido desbloqueado
Get unlock/ Obtener desbloqueo
Desbloquea el acceso exclusivo sobre un fichero(s) del repositorio.
Add / Añadir
Prepara un fichero(s) para ser subido al control de versiones. Es necesario realizar la operación de commit para subir su contenido al repositorio.
Rename/ Renombrar
Renombra un fichero o carpeta en la copia de trabajo local. Es necesario realizar la operación de commit para renombrar el fichero o carpeta en el repositorio.
Delete / Borrar
Borra un fichero o carpeta en la copia de trabajo local. Es necesario realizar la operación de commit para borrar el fichero o carpeta en el repositorio.
Update to revision / Actualizar a la revisión
Actualiza en nuestra copia local a una versión seleccionada de los archivos modificados en el repositorio
Check for modifications / Comprobar modificaciones
Ventana que muestra el estado local y remoto de los archivos del repositorio
Repo-browser / Navegador de repositorios
Ventana en la que se permite interactuar directamente con los archivos del repositorio
Show log / Mostrar registro
Ventana que muestra el histórico de operaciones del repositorio
Export / Exportar
Recupera en un directorio el contenido de la carpeta seleccionada sin los ficheros del control de versiones.
Settings / Configuración
Configuración general del TortoiseSVN













Comentarios

Entradas populares de este blog

Soluciones Alchemy Classic 389 elementos

Hace algún tiempo salió una actualización del Juego Alchemy Classic en la que aparecían más elementos (389 en lugar de 238). Aparte de añadir elementos mejoran algunas traducciones en castellano y mejoran la interfaz, aunque todavía hay algún error en algunos nombres de elementos. Aquí os dejo las soluciones para los que estén atascados y no puedan dormir por las noches: Sustancia primaria Aire=Elemento primario  Fuego=Elemento primario  Agua=Elemento primario  Tierra=Sustancia Primaria Arena=Piedra + Aire Piedra=Tierra + Fuego Arcilla=Arena + Pantano Caliza=Tierra + Amonitas Carbono=Fuego + Madera Cloro=Fuego + Sal + Electricidad CO2(Dióxido de Carbono)=Ceniza + Ácido nítrico Electricidad=Relámpago+ Metales Gas natural= Yacimiento de gas + Pozo Helio=Refinería de gas + Gas Natural Hidrógeno=Electricidad + Agua Hielo=Frío + Agua Imán=Piedra + Metales Metano=Deshechos Vegetales + Pantano Oxígeno=Electricidad + Agua Petróleo=Unidad

JAXB: Leer y escribir ficheros XML

Muchas veces en nuestras aplicaciones debemos manejar documentos XML ( Extensible Markup Language ). Este lenguaje se ha convertido en un estándar para intercambio de datos entre programas y aplicaciones a través de Internet. En un esquema XML (o  XSD ) podemos definir los elementos que pueden aparecer en un documento XML así como las relaciones entre los mismos. JAXB ( Java Architecture for XML Binding ) es un estándar Java para transformar un esquema XML (o  XSD ) en una representación a objetos java. Mediante la API de JAXB podemos mapear un objeto Java a un documento XML ( "marshall" ) y el proceso contrario, es decir, a partir de un esquema XML crear su conjunto de objeto Java asociado ( "unmarshall" ). JAXB Resumiendo lo que nos proporciona JAXB es: Generación de objetos Java a partir de un XSD a través de un compilador Proporciona capacidades de marshall/unmarshall (escribir fichero XML desde java y al contrario) Integración con Maven a través de xj

Matemáticas y cine.

El otro día estaba viendo por la televisión una película llamada 21 blackjack . En una escena de la película el profesor de matemáticas ( Kevin Spacey ) le presenta a uno de sus alumnos la siguiente situación: se encuentra en un concurso en la que debe escoger entre tres puertas (1,2 y 3). En dos de ellas hay una cabra, sin embargo en una de las 3 hay un flamante coche nuevo. El alumno responde que quiere abrir la puerta. El presentador, conocedor de lo que hay detrás de cada puerta decide abrir otra puerta diferente mostrando detrás de ella una cabra. El profesor se dirige al alumno y le pregunta, ¿cambiarías la puerta o te quedarías con la puerta que tienes? Muchos de nosotros cambiaríamos de puerta pensando que es una treta del presentador para engañarnos. ¿Cual elegiríais vosotros? Al comienzo tenemos 1/3 de probabilidades de acertar la puerta donde está el coche. Una vez que el presentador abre la puerta con una cabra, la mayoría de gente piensa que hay la misma probabilidad de