Gráficos de revisión

Figura 4.67. Un gráfico de revisiones

Un gráfico de revisiones


A veces necesita saber desde qué revisión del tronco se tomaron las ramas y las etiquetas, y la forma ideal de ver este tipo de información es en un gráfico o una estructura de árbol. Ahí es cuando necesita utilizar TortoiseSVNGráfico de Revisiones...

Este comando analiza la historia de las revisiones e intenta crear un árbol mostrando los puntos en los que se tomaron las copias, y cuando se borraron las ramas/etiquetas.

Importante

Para generar el gráfico, TortoiseSVN debe obtener todos los mensajes de registro desde la raíz del repositorio. No es necesario decir que esto puede llevar varios minutos incluso con un repositorio con unos pocos miles de revisiones, dependiendo de la velocidad del servidor, el ancho de banda de la red, etc. Si intenta esto con algo como el proyecto Apache, que actualmente tiene más de 500.000 revisiones, puede estar esperando un buen rato.

La buena noticia es que si está utilizando Caché de registro, sólo tendrá que sufrir este retraso una vez. Después, la información de registro se maneja localmente. El caché de registro se habilita desde la configuración de TortoiseSVN.

Nodos del gráfico de revisión

Cada nodo de gráfico de revisión representa una revisión en el repositorio donde algo cambió en el árbol que está viendo. Los diferentes tipos de nodos se pueden distinguir por forma y color. Las formas son fijas, pero los colores se pueden cambiar utilizando TortoiseSVNConfiguración

Ítems añadidos o copiados

Los objetos que se han añadido, o creado al copiar otro fichero/carpeta, se muestran empleando un rectángulo redondeado. El color por defecto es el verde. Etiquetas y trunks se tratan como un caso especial y utilizan un tono diferente, dependiendo de TortoiseSVNSettings.

Ítems eliminados

Objetos eliminados, por ejemplo una rama que ya no es necesaria, se muestran usando un octágono (rectángulo con las esquinas recortadas). El color por defecto es el rojo.

Ítems renombrados

Los ítems renombrados también se muestran utilizando un octágono, pero el color por defecto es azul.

Revisión punta de la rama

El gráfico normalmente se restringe para mostrar los puntos de ramas, pero a menudo es útil poder ver las revisiones HEAD respectivas de cada rama. Si selecciona Mostrar revisiones HEAD, cada nodo de revisión HEAD se mostrará como una elipse. Tenga en cuenta que HEAD aquí hace referencia a la última revisión confirmada en esa ruta, no a la revisión HEAD del repositorio.

Revisión de la copia de trabajo

Si ha invocado el gráfico de revisiones desde una copia de trabajo, puede optar por mostrar la revisión BASE del gráfico utilizando Mostrar revisión copia de trabajo, que marca el nodo BASE con un borde remarcado.

Copia de trabajo modificada

Si ha invocado el gráfico de revisiones desde una copia de trabajo, puede optar por mostrar un nodo adicional representando su copia de trabajo modificada utilizando Mostrar modificaciones en la copia de trabajo. Éste por defecto es un nodo elíptico con un borde remarcado en rojo.

Ítem normal

Todos los demás ítems se muestran utilizando un rectángulo normal.

Tenga en cuenta que por defecto el gráfico sólo muestra los puntos en los que se añadieron, copiaron o borraron ítems. Mostrar cada revisión de un proyecto generará un gráfico muy grande para casos no triviales. Si realmente desea ver todas las revisiones en las que se hicieron cambios, hay una opción para conseguirlo en el menú Ver y en la barra de herramientas.

La vista por defecto (sin agrupación) pone los nodos con su posición vertical en estricto orden de revisión, para que tenga una pista visual del órden en el que se hicieron las cosas. Cuando dos nodos están en la misma columna, el órden es muy obvio. Cuando dos nodos están en columnas contiguas la separación es mucho menor porque no hay necesidad de evitar que los nodos se sobrepongan, y como resultado el órden es un poco menos obvio. Estas optimizaciones son necesarias para mantener gráficos complejos en un tamaño razonable. Por favor tenga en cuenta que esta ordenación utiliza el borde del nodo en el lado más antiguo como referencia, es decir, el borde inferior del nodo cuando el gráfico se muestra con el nodo más antiguo en la parte inferior. El borde de referencia es importante porque no todas las formas de los nodos tienen la misma altura.

Cambiando la vista

Dado que los gráficos de revisiones son a menudo complejos, hay un número de funcionalidades que pueden utilizarse para ajustar la vista a lo que desea obtener. Estas opciones están disponibles en el menú Ver y en la barra de herramientas.

Agrupar ramas

En el comportamiento por defecto (sin agrupaciones) todas las filas estarán ordenadas estrictamente por revisión. Como resultado, las ramas de larga vida con confirmaciones esporádicas ocupan una columna completa sólo para unos pocos cambios, y el gráfico resulta muy ancho.

This mode groups changes by branch, so that there is no global revision ordering: Consecutive revisions on a branch will be shown in (often) consecutive lines. Sub-branches, however, are arranged in such a way that later branches will be shown in the same column above earlier branches to keep the graph slim. As a result, a given row may contain changes from different revisions.

Más antiguo arriba

Normalmente el gráfico muestra la revisión más antigua abajo, y el árbol crece hacia arriba. Utilice esta opción para hacer crecer el árbol desde arriba.

Alinear árboles en la parte superior

Cuando un gráfico se parte en varios árboles más peuqeños, los árboles pueden aparecer bien en su órden de revisión natural, o alineados en la parte inferior de la ventana, dependiendo de si utiliza la opción Agrupar por ramas. Utilice esta opción para hacer crecer todos los árboles hacia abajo desde arriba.

Reducir líneas cruzadas

This option is normally enabled and avoids showing the graph with a lot of confused crossing lines. However this may also make the layout columns appear in less logical places, for example in a diagonal line rather than a column, and the graph may require a larger area to draw. If this is a problem you can disable the option from the View menu.

Nombres de ruta diferenciales

Los nombres largos de ruta pueden necesitar un montón de espacio y hacer que las cajas de los nodos sean muy largas. Utilice esta opción para mostrar sólo la parte cambiada de una ruta, reemplazando la parte común con puntos. Por ejemplo, si crea la rama /branches/1.2.x/doc/html desde /trunk/doc/html la rama se podría mostrar de forma compacta como /branches/1.2.x/. dado que los dos últimos niveles, doc y html, no han cambiado.

Mostrar todas las revisiones

Esto hace exactamente lo que espera, y muestra cada revisión donde algo (en el árbol del que está mostrando el gráfico) ha cambiado. Para historiales largos esto puede producir un árbol realmente enorme.

Mostrar revisiones HEAD

Esto asegura que la última revisión de cada rama se muestra siempre en el gráfico.

Orígenes de copia exactos

Cuando se crea una rama/etiqueta, el comportamiento por defecto es mostrar la rama como si se hubiera tomado desde el último nodo donde se hizo un cambio. Estrictamente esto no es preciso, dado que las ramas generalmente se crean desde HEAD y no desde una revisión específica. Por lo que es posible mostrar la revisión más correcta (pero menos útil) que se utilizó para crear la copia. Note que esta revisión puede ser más reciente que la revisión HEAD de la rama origen.

Plegar etiquetas

When a project has many tags, showing every tag as a separate node on the graph takes a lot of space and obscures the more interesting development branch structure. At the same time you may need to be able to access the tag content easily so that you can compare revisions. This option hides the nodes for tags and shows them instead in the tooltip for the node that they were copied from. A tag icon on the right side of the source node indicates that tags were made. This greatly simplifies the view.

Note that if a tag is itself used as the source for a copy, perhaps a new branch based on a tag, then that tag will be shown as a separate node rather than folded.

Ocultar rutas eliminadas

Oculta las rutas que ya no están presentes en la revisión HEAD del repositorio, por ejemplo ramas eliminadas.

If you have selected the Fold tags option then a deleted branch from which tags were taken will still be shown, otherwise the tags would disappear too. The last revision that was tagged will be shown in the colour used for deleted nodes instead of showing a separate deletion revision.

If you select the Hide tags option then these branches will disappear again as they are not needed to show the tags.

Ocultar ramas sin usar

Oculta ramas donde no se confirmaron cambios en el respectivo archivo o sub-carpeta. Esto no indica necesariamente que la rama no se utilizó, sino que no se hicieron cambios en esta parte de ella.

Mostrar la revisión de la copia de trabajo

Marca la revisión en el gráfico que corresponde a la revisión de actualización del ítem para el que obtuvo el gráfico. Si acaba de actualizar, esto será HEAD, pero si otros han confirmado cambios desde su última actualización, su copia de trabajo puede estar unas revisiones por debajo. Este nodo se marca dándole un borde remarcado.

Mostrar modificaciones en la copia de trabajo

Si su copia de trabajo contiene cambios locales, esta opción lo dibuja como un nodo separado elíptico, enlazado al nodo al que su copia de trabajo fue actualizado por última vez. El color de resalte por defecto es rojo. Puede necesitar refrescar el gráfico utilizando F5 para capturar cambios recientes.

Filtro

A veces los gráficos de revisión contienen más revisiones de las que desea ver. Esta opción abre un diálogo que le permitirá restringir el rango de revisiones mostrado, y ocultar rutas concretas por su nombre.

If you hide a particular path and that node has child nodes, the children will be shown as a separate tree. If you want to hide all children as well, use the Remove the whole subtree(s) checkbox.

Bandas de árboles

Cuando el gráfico contiene varios árboles, es útil a veces utilizar colores alternados en el fondo para ayudar a distinguir entre árboles.

Mostrar resumen

Muestra un pequeño dibujo del gráfico completo, con la ventana de la vista actual como un rectángulo que puede arrastrar. Esto le permite navegar por el gráfico más fácilmente. Note que para gráficos grandes la vista previa puede volverse inutilizable debido al factor de zoom extremo que se usa y por lo tanto no mostrarse en esos casos.

Usando el gráfico

Para hacer más fácil la navegación en un gráfico grande, utilice la ventana superpuesta. En ella se muestra el gráfico completo en una pequeña ventana, con la parte que se muestra actualmente iluminada. Puede arrastrar el área iluminada para cambiar la región que se muestra.

La fecha de la revisión, el autor y los comentarios se muestran en una caja de ayuda cuando se mueve el ratón encima de una caja de revisión.

Si selecciona dos revisiones (mediante Ctrl-click con el botón izquierdo), puede utilizar el menú contextual para mostrar las diferencias entre esas revisiones. Puede elegir mostrar las diferencias en los puntos de creación de las ramas, pero normalmente querrá mostrar las diferencias en los puntos finales de las ramas, esto es, en la revisión HEAD.

Puede ver las diferencias como un archivo de Diff Unificado, que le muestra todas las diferencias en un archivo único con contexto mínimo. Si opta por Menú ContextualComparar Revisiones se le presentará una lista de archivos cambiados. Haga doble click en un nombre de archivo para obtener ambas revisiones y compararlas utilizando una herramienta de diferencias visual.

Si hace click con el botón derecho en una revisión, puede utilizar Menú ContextualMostrar registro para ver la historia.

También puede fusionar cambios de la(s) revision(es) seleccionada(s) en una copia de trabajo distinta. Un diálogo de selección de carpeta le permitirá elegir la copia de trabajo donde desea fusionar, pero después de eso no hay diálogo de confirmación, ni oportunidad de probar la fusión sin ejecutarla realmente. Es una buena idea fusionar en una copia de trabajo sin cambios, ¡y así poder revertir los cambios si no funcionan! Esta es una funcionalidad útil si desea fusionar las revisiones seleccionadas de una rama a otra.

Aprenda a Leer un Gráfico de Revisiones

Los usuarios novatos pueden sorprenderse porque el gráfico de revisiones muestra algo que no concuerda con el modelo mental del usuario. Si una revisión cambia múltiples copias o ramas de un archivo o carpeta, por ejemplo, habrá nodos múltiples para esa revisión. Es una buena práctica empezar con las opciones de la barra de herramientas que están más a la izquierda y customizar el gráfico paso a paso hasta que casi coincida con su modelo mental.

Todas las opciones de filtro tratan de perder la mínima información posible. Esto puede hacer que algunos nodos cambien de color. Siempre que un resultado sea inesperado, deshaga la última operación de filtrado y trate de entender qué tiene de especial esa revisión o rama. En la mayoría de los casos, el resultado inicial esperado de la operación de filtrado sería inexacto o engañoso.

Refrescando la vista

Si desea comprobar el servidor de nuevo para obtener la información más reciente, puede simplemente refrescar la vista utilizando F5. Si está utilizando la caché de registro (habilitada por defecto), esto buscará en el repositorio las confirmaciones más recientes y traerá sólo las nuevas. Si la caché de registro estaba en modo desconectado, esto intentará volver a ponerla en línea.

Si está utilizando la caché de registros y cree que el contenido del mensaje o el autor han podido cambiar, debería utilizar el diálogo de registro para refrescar los mensajes que necesita. Dado que el gráfico de revisiones trabaja desde la raíz del repositorio, tendríamos que invlidar la caché completa de registro, y recargarla podría llevar muchísimo tiempo.

Podando árboles

Un árbol grande puede ser dificil para navegar y a veces querrá ocultar partes de él, o partirlo en un bosque de árboles más pequeños. Si mueve el ratón sobre el punto donde un enlace de nodo entra o sale del nodo, verá que aparecen uno o más botones que le permitirán hacer esto.

Pulse en el botón menos para colapsar el subárbol adjunto.

Pulse el botón más para expandir un árbol colapsado. Cuando un árbol se ha colapsado, este botón permanece visible para indicar un subárbol oculto.

Pulse en el botón cruz para separar el subárbol adjunto y mostrarlo como un árbol separado en el gráfico.

Pulse en el botón círculo para readjuntar un árbol separado Cuando se ha separado un árbol, este botón permanece visible para indicar que hay un subárbol separado.

Pulse sobre el fondo del gráfico para acceder al menú contextual principal, el cual ofrece opciones para Expandir todo y Juntar todo. Si ninguna rama ha sido colapsada o partida, el menú contextual no será mostrado.