Obteniendo información del estado

Mientras está trabajando en su copia de trabajo a menudo necesitará saber qué ficheros ha cambiado/añadido/borrado o renombrado, o incluso qué ficheros han sido cambiados y confirmados por los demás.

Iconos sobreimpresionados

Figura 4.12. Explorador mostrando iconos sobreimpresionados

Explorador mostrando iconos sobreimpresionados


Ahora que ha obtenido una copia de trabajo desde un repositorio de Subversion, puede ver sus ficheros en el explorador de Windows con los iconos cambiados. Ésta es una de las razones por las que TortoiseSVN es tan popular. TortoiseSVN añade lo que se llama un icono sobreimpresionado al icono de cada fichero que se superpone al icono original del fichero. Dependiendo del estado en Subversion del fichero, el icono sobreimpresionado es diferente.

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

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.

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

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.

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.

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.

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

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

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.

De hecho, puede que se encuentre con que no todos estos iconos se utilizan en su sistema. Esto se debe a que el número de sobreimpresiones permitidas por Windows está muy limitado y si está utilizando también una versión antigua de TrotoiseCVS, entonces no hay suficientes huecos de sobreimpresión disponibles. TortoiseSVN intenta ser un “Buen Ciudadano (TM)” y limita su uso de sobreimpresiones para darles una oportunidad al resto de aplicaciones.

Ahora que hay más clilentes Tortoise por ahí (TortoiseCVS, TortoiseHG, ...) el límite de iconos se ha convertido en un problema real. Para evitarlo, el proyecto TortoiseSVN ha introducido un conjunto compartido común de iconos, cargado como una DLL, que puede ser usado por todos los clientes Tortoise. Compruebe con el proveedor de su cliente para ver si esto ya se ha integrado :-)

Si desea una descripción de cómo se corresponden las sobreimpresiones con los estados de Subversion y otros detalles técnicos, lea “Iconos sobreimpresionados”.

Columnas de TortoiseSVN en el Explorador de Windows

Se puede ver la misma información que está disponible en los iconos sobreimpresionados (y mucha más) como columnas adicionales en la Vista Detalles del Explorador de Windows.

Simplemente haga click con el botón derecho en la cabecera de una columna y seleccione Más... en el menú contextual que aparece. Se mostrará un diálogo donde puede especificar las columnas que se mostrarán en la “vista Detalles”, y su orden. Baje hasta que vea las entradas que empiezan por SVN. Marque aquellas que desee mostrar y cierre el diálogo pulsando Aceptar. Las columnas aparecerán a la derecha de las que ya se mostraban. Puede reorganizarlas utilizando arrastrar y soltar, o cambiarlas de tamaño, para que se ajusten a sus necesidades.

Importante

Las columnas adicionales en el Explorador de Windows no están disponibles en Vista, dado que Microsoft decidió no habilitar tales columnas para todos los ficheros, sino únicamente para tipos de ficheros específicos.

Sugerencia

Si desea que la organización actual se muestre en todas sus copias de trabajo, puede que desee convertirla en su vista por defecto.

Estado local y remoto

Figura 4.13. Comprobar modificaciones

Comprobar modificaciones


A menudo es muy útil saber qué ficheros ha cambiado y también qué ficheros han cambiado y confirmado los demás. Ahí es donde viene bien el comando TortoiseSVNComprobar 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 actualizar ficheros concretos desde el repositorio sin actualizar la carpeta completa. Por defecto, el botón Comprobar Repositorio sólo obtiene el estado remoto con la profundidad obtenida de la copia de trabajo. Si desea ver todos los ficheros y carpetas del repositorio, incluso aquellas que no ha obtenido, entonces tendrá que pulsar la tecla Mays mientras hace click en el botón Comprobar Repositorio.

El diálogo utiliza un código de colores para resaltar el estado.

Azul

Ítems modificados localmente.

Púrpura

Ítems añadidos. Los ítems que han sido añadidos con historia tienen un signo + en la columna Estado del texto, y un texto de ayuda que le muestra de dónde ha sido copiado.

Rojo oscuro

Ítems faltantes o borrados.

Verde

Ítems modificados localmente y en el repositorio. Los cambios se fusionarán al actualizar. Ésto puede producir conflictos al actualizar.

Rojo brillante

Items modificados localmente y borrados en el repositorio, o modificados en el repositorio y borrados localmente. Esto producirá conflictos al actualizar.

Negro

Ítems sin cambios y sin versionar.

Este es el esquema de colores por defecto, pero puede personalizar dichos colores utilizando el diálogo de configuración. Para más información, lea “Configuración de colores de TortoiseSVN”.

Los ítems que han sido cambiados a una ruta de repositorio diferente también se indican utilizando un marcador (s). Puede haber cambiado algo mientras trabaja en una rama y habérsele olvidado volver a cambiarlo al tronco. ¡Este es su signo de advertencia!

Desde el menú contextual del diálogo puede mostrar un resumen de los cambios. Compruebe los cambios locales que usted ha hecho utilizando Menú ContextualComparar con Base. Compruebe los cambios en el repositorio hechos por los demás utilizando Menú ContextualMostrar Diferencias como Diff Unificado.

También puede revertir cambios en ficheros individuales. Si ha borrado un fichero de forma accidental, se mostrará como Falta y puede utilizar

Los ficheros sin versionar y los ignorados se pueden enviar a la papelera de reciclaje desde aquí utilizando Menú ContextualEliminar. Si quiere eliminar los ficheros de forma definitiva (sin utilizar la papelera de reciclaje) pulse la tecla Mayúsculas mientras hace click en Eliminar.

Si desea examinar un fichero más en detalle, puede arrastrarlo desde aquí a otra aplicación, tal como un editor de textos o un IDE.

Las columnas son personalizables. Si hace click con el botón derecho en cualquier cabecera de columna verá un menú contextual que le permite seleccionar qué columnas se muestran. También puede cambiar el ancho de la columna utilizando el manejador de arrastre que aparece cuando mueve el cursor sobre el límite de una columna. Estas personalizaciones se mantienen, por lo que verá los mismos encabezados la próxima vez.

Si está trabajando al mismo tiempo en varias tareas sin relacion entre ellas, también puede agrupar los ficheros juntos en listas de cambios. Para más información, lea “Listas de cambios”.

En la parte inferior del diálogo puede ver un sumario del rango de revisiones del repositorio en uso en su copia de trabajo. Estas son revisiones confirmadas, no las revisiones actualizadas; representan el rango de revisiones donde estos ficheros fueron confirmados por última vez, no las revisiones a las que se han actualizado. Tenga en cuenta que el rango de revisiones mostrado se aplica sólo a los ítems mostrados, no a la copia de trabajo completa. Si quiere ver esa información para la copia de trabajo completa debe seleccionar la casilla Mostrar ficheros no modificados.

Sugerencia

Si quiere una vista llana de su copia de trabajo, por ejemplo mostrando todos los ficheros y carpetas en todos los niveles de su jerarquía de carpetas, entonces el diálogo Comprobar modificaciones es la forma más sencilla de conseguirlo. Símplemente seleccione la casilla Mostrar archivos no modificados para ver todos los ficheros de su copia de trabajo.

Reparando renombrados externos

A veces los ficheros se renombran fuera de Subversion, y se muestran en la lista de ficheros como un fichero faltante y un fichero no versionado. Para evitar perder la historia necesita notificar a Subversion su conexión. Simplemente seleccione tanto el nombre antiguo (faltante) como el nombre nuevo (sin versionar) y utilice Menú contextualReparar movimiento para emparejar los dos ficheros como un renombrado.

Repairing External Copies

If you made a copy of a file but forgot to use the Subversion command to do so, you can repair that copy so the new file doesn't lose its history. Simply select both the old name (normal or modified) and the new name (unversioned) and use Context MenuRepair Copy to pair the two files as a copy.

Viendo diferencias

A menudo querrá mirar dentro de sus ficheros, para echar un vistazo a lo que ha cambiado. Puede llevar esto a cabo seleccionando un fichero que haya cambiado, y seleccionando Diferenciar desde el menú contextual de TortoiseSVN. Esto inicia el visor externo de diferencias, que comparará el fichero actual con la copia prístina (revisión BASE), que se guardó tras su obtención o tras la última actualización.

Sugerencia

Puede mostrar diferencias incluso cuando no está dentro de una copia de trabajo, o cuando tiene múltiples versiones del fichero alrededor:

Seleecione los dos ficheros que desea comparar en el explorador (por ejemplo, utilizando la tecla Ctrl y el ratón) y seleccione Diferenciar del menú contextual de TortoiseSVN. El fichero que haya pulsado en último lugar (el que tiene el foco, es decir, el rectángulo con puntos) será tomado como más nuevo.