Apéndice F. Detalles de implementación

Tabla de contenidos

Íconos superpuestos

Este apéndice contiene una discusión más detallada sobre la implementación de algunas de las características de TortoiseSVN.

Íconos superpuestos

Cada archivo y carpeta tiene un valor del estado de Subversion tal y como lo devuelve la librería de Subversion. En el cliente de línea de comandos, estos valores se representan por códigos de una única letra, pero en TortoiseSVN se muestran gráficamente utilizando los íconos superpuestos. Dado que el número de íconos superpuestos es muy limitado, cada ícono puede representar uno de varios valores de estado.

El ícono superpuesto En conflicto se utiliza para representar el estado en conflicto, donde una actualización o un cambio han resultado en conflictos entre los cambios locales y los cambios descargados desde el repositorio. También se utiliza para indicar el estado obstruído, que puede ocurrir cuando una operación no puede terminar.

El ícono superpuesto Modificado representa el estado modificado, donde ha hecho modificaciones locales; el estado fusionado, donde los cambios del repositorio se han fusionado con sus cambios locales; y el estado reemplazado, donde un archivo ha sido eliminado y reemplazado por otro diferente con el mismo nombre.

El ícono superpuesto Eliminado representa el estado eliminado, donde un ítem está marcado para su eliminación; o el estado faltante, donde un ítem no está presente. Naturalmente un ítem que está faltante no puede tener un ícono, pero la carpeta padre puede marcarse si uno de sus ítems hijo falta.

El ícono superpuesto Añadido se utiliza simplemente para representar el estado añadido cuando un ítem ha sido añadido al control de versiones.

El ícono superpuesto En Subversion se utiliza para representar un ítem que está en el estado normal, o un ítem versionado cuyo estado aún se desconoce. Dado que TortoiseSVN utiliza un proceso de caché en segundo plano para obtener los estados, puede llevar unos pocos segundos antes que se actualice el ícono superpuesto.

El Necesidades de bloqueo emphasis> se utiliza sobreimpresi svn: needs-lock literal> conjunto de propiedades.

El ícono superpuesto Bloqueado se utiliza cuando la copia de trabajo local contiene un bloqueo para ese archivo.

El ícono superpuesto Ignorado se utiliza para representar un ítem que está en el estado ignorado, bien por un patrón global de ignorado, o por la propiedad svn:ignore de la carpeta padre. Este ícono superpuesto es opcional.

El ícono superpuesto No versionado se utiliza para representar a un ítem que está en el estado no versionado. Este es un ítem dentro de una carpeta versionada, pero que él mismo no está bajo el control de versiones. Este ícono es opcional.

If an item has Subversion status none (the item is not within a working copy) then no overlay is shown. If you have chosen to disable the Ignored and Unversioned overlays then no overlay will be shown for those files either.

Un ítem sólo puede tener un valor de estado de Subversion. Por ejemplo un archivo puede estar modificado localmente y puede estar marcado para su eliminación al mismo tiempo. Subversion devuelve un único valor de estado - en este caso eliminado. Estas prioridades están definidas en el propio Subversion.

Cuando TortoiseSVN muestra el estado recursivamente (la configuración por defecto), cada carpeta muestra un ícono superpuesto reflejando su propio estado y el estado de todos sus hijos. Para mostrar un único ícono resumen, utilizamos el orden de prioridad mostrado arriba para determinar cual utilizar, tomando En conflicto como la que tiene mayor prioridad.

De Hecho, es posible que no todos estos iconos se utilizan en el sistema. Esto es porque el número de sobreimpresiones permitidas por Windows está limitado a 15. Windows utiliza 4 de ellas, y las 11 restantes pueden ser utilizados por otras aplicaciones. Si no hay suficientes huecos de sobreimpresión disponibles, TortoiseSVN intenta ser un Ciudadano Bueno (TM) emphasis> y limita su uso de sobreimpresiones para darles otras aplicaciones de una oportunidad.

Puesto que hay clientes de Tortoise disponibles para otros sistemas de control de versiones, hemos creado un componente común que es responsable de mostrar los iconos. Los detalles técnicos no son importantes, todo lo que necesitas saber es que este componente compartido permite a todos los clientes de Tortoise emplear los mismos iconos y por lo tanto el límite de 11 slots disponibles no se usa al instalar más de un cliente de Tortoise. Por supuesto hay un pequeño incoveniente: todos los clientes de Tortoise usan los mismos iconos, por lo que no puedes averiguar por los iconos la versión del sistema de control que emplea una copia de trabajo.

  • Normal, Modificado y En conflicto siempre se cargan y están visibles.

  • Borrado se carga si es posible, pero se cambia por Modificado si no hay suficientes huecos.

  • Sólo-lectura se carga si es posible, pero se cambia por Normal si no hay suficientes huecos.

  • Cerrado se carga si es posible, pero vuelve a Normal si no hay suficientes huecos.

  • Añadido se carga si es posible, pero vuevle a Modificado si no hay suficientes huecos.