Esta sección demuestra como probar algunas de las características más usadas sobre un pequeño repositorio de pruebas. Naturalmente, no explica absolutamente todo - esta es la Guía de Inicio Rápido, después de todo. Una vez que esté funcionando tomese el tiempo de leer el resto de este manual de usuario, que le muestra las cosas con mucho más detalle. También le muestra las configuraciones correctas para un servidor Subversion.
Para un proyecto real tendrá un repositorio configurado en algún lugar seguro y un servidor Subversion que lo controle. Para este tutorial vamos a usar una característica de repositorio local de Subversion, la que permite acceso directo a un repositorio creado en su disco rígido sin necesidad de un servidor.
Para empezar cree una carpeta vacía en su PC. Puede ser en cualquier lugar, pero en este tutorial vamos a llamarlo C:\svn_repos
. Luego, haga clic derecho sobre la nueva carpeta y del menú de contexto elija → . El repositorio queda creado dentro de la carpeta, listo para su uso. También crearemos la estructura interna por defecto de la carpeta haciendo clic en el botón .
La característica de repositorio local es muy útil para prueba y evaluación pero, a menos que esté trabajando como desarrollador único en una PC, siempre debería usar un servidor Subversión correctamente configurado. Es tentador, en una compañía pequeña, evitar el trabajo de configurar un servidor y acceder el repositorio en un recurso compartido de la red. Nunca lo haga. Perderá datos. Lea “Accediendo a un repositorio en una unidad de red” para enterarse porque es una mala idea hacerlo y para aprender como configurar un servidor.
Ahora ya tenemos un repositorio, pero está completamente vacío. Asumamos que tenemos un conjunto de archivos en C:\Projects\Widget1
que quiero agregar. Navegamos a la carpeta Widget1
en el Explorador y hacemos clic derecho sobre ella. Ahora seleccionamos → la que abre un diálogo
Un repositorio Subversion se referencia por su URL, lo que nos permite especificar un repositorio en cualquier lado de Internet. En este caso necesitamos apuntar a nuestro propio repositorio local que tiene una URL file:///c:/svn_repos/trunk
, y al cual le agregamos nuestro propio nombre de proyecto Widget1
. Note que hay 3 barras luego de file:
y que siempre se usan esas barras.
La otra característica importante de este diálogo es el cuadro de texto Mensaje de Importación que permite ingresar un mensaje que describa lo que se está haciendo. Cuando vaya a mirar la historia del proyecto, esos mensajes de actualización serán una guía valiosa de qué cambios se hicieron y porqué. En este caso podemos poner algo simple como “Importar el proyecto Widget1”. Haga clic en el botón y la carpeta será agregada al repositorio.
Ahora que tenemos un proyecto en nuestro repositorio, necesitamos crear una copia de trabajo para usar en el trabajo del día a día. Note que la sola acción de importar una carpeta no convierte automáticamente esa carpeta en una copia de trabajo. El término de Subversion para la creación de una nueva copia de trabajo es Checkout
. Vamos a hacer un checkout de la carpeta Widget1 de nuestro repositorio a una carpeta de desarrollo en la PC llamada C:\Projects\Widget1-Dev
. Cree esa carpeta, haga clic derecho en ella y seleccione → . Ingrese la URL para hacer el checkout, en este caso file:///c:/svn_repos/trunk/Widget1
y finalmente haga clic en . Nuestra carpeta de desarrollo será cargada con los archivos de nuestro repositorio.
El la configuración por default, la opción salida del menú (checkout) no se encuentra en el submenú TortoiseSVN, pero se muestra en el menú superior del explorador. Los comandos de TortoiseSVN que no están en el submenú tienen SVN
al principio:
Debería notarse que la apariencia de esta carpeta es diferente de nuestra carpeta original. Cada carpeta tiene una tilde verde en el vértice inferior izquierdo. Esos son los íconos de estado de TortoiseSVN que están presentes solo en las copias de trabajo. El estado verde indica que el archivo no tiene cambios de la versión del repositorio.
Hora de trabajar, en la carpeta Widget1-Dev
empezamos editando ficheros - digamos que hacewmos cambios en Widget1.c
y ReadMe.txt
. Dese cuenta que el icono de dichos ficheros ha cambiado a rojo, indicando que los cambios son locales.
¿Pero cuáles son los cambios? Hága click en uno de los archivos modificados y seleccione
→ . El comparador de archivos de TortoiseSVN comienza, mostrando exactamente qué lineas han cambiado.Bien, estamos contentos con los cambios, ahora actualicemos el repositorio. Esta acción se denomina Actualizar
los cambios. Haga clic derecho sobre la carpeta Widget1-Dev
y elija → . El diálogo de actualización muestra los archivos cambiados, cada uno con una tilde. Puede elegir solo un subconjunto de esos archivos, pero en este caso vamos a actualizar los cambios en ambos archivos. Ingrese un mensaje que describa para que es el cambio y haga clic en . El diálogo de progreso muestra los archivos que están siendo actualizados al repositorio y eso es todo.
Mientras el proyecto avanza necesitará agregar nuevos archivos - por ejemplo, porque agrega nuevas catacterísticas en Extras.c
y agregar una referencia en el archivo Makefile
existente. Haga clic derecho en la carpeta y elija → . El diálogo muestra todos los archivos que aún no fueron versionados y puede escoger cuales agregar. Otra forma de agregar archivos sería hacer clic derecho sobre el archivo a agregar y seleccionar → .
Ahora, cuando va a actualizar la carpeta, el nuevo archivo aparece como Agregado y el archivo existente como Modificado. Note que puede hacer un doble clic en el archivo modificado para verificar exactamente que cambios se realizaron.
Una de las características más útiles de TortoiseSVN es el diálogo de registro. Este muestra una lista de las confirmaciones hechas a un archivo o carpeta, y los mensajes de actualización detallados que fueron ingresados (has ingresado los mensajes de confirmación? Si no lo has hecho, ahora puedes darte una idea de lo importante que son).
Aqui hice un poco de trampa y utilicé una captura de pantalla del repositorio TortoiseSVN.
El panel superior muestra una lista de las revisiones de actualización junto con la parte inicial del mensaje de actualización. Si selecciona una de esas revisiones, el panel central mostrará el mensaje completo del registro para esa revisión y el panel inferior una lista de archivos y carpetas que cambiaron.
Cada uno de esos paneles tiene un menù de contexto que permite muchas formas de usar la información. En el panel inferior puede hacer un doble clic en un archivo para ver exactamente que cambios se hicieron en esa revisión. Lea “Diálogo de Registro de revisiones” para ver la historia completa.
Una característica de todos los sistemas de control de revisión es que permiten deshacer los cambios que se hicieron previamente. Como sería de esperar, TortoiseSVN permite realizar esto facilmente.
Si quiere descartar los cambios que no ha actualizado y volver el archivo a como estaba cuando empezó a editarlo,
→ es su amigo. Este ítem descarta los cambios (a la Papelera de reciclaje, por si acaso) y revierte a la versión actualizada con la que empezó. Si quiere descartar algunos de los cambios, puede usar TortoiseMerge para ver las diferencias y revertir solo algunas líneas cambiadas.Si desea deshacer los efectos de una revisión en particular, comience con el diálogo de registro y encuentre la revisión ofensiva. Seleccione
→ y los cambios serán revertidos.