Apéndice F. Detalles de implementacion

Tabla de contenidos

Iconos sobreimpresionados

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

Iconos sobreimpresionados

Cada fichero 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 iconos sobreimpresionados. Dado que el número de sobreimpresiones es muy limitado, cada sobreimpresión puede representar uno de varios valores de estado.

La sobreimpresión 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.

La sobreimpresión 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 fichero ha sido eliminado y reemplazado por otro diferente con el mismo nombre.

La sobreimpresión 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 una sobreimpresión sobre si mismo, pero la carpeta padre puede marcarse si uno de sus ítems hijo falta.

La sobreimpresión Añadido se utiliza simplemente para representar el estado añadido cuando un ítem ha sido añadido al control de versiones.

La sobreimpresión 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 deque se actualice la sobreimpresión.

La sobreimpresión Necesita bloqueo se utiliza para indicar cuándo un fichero tiene la establecida la propiedad svn:needs-lock. Para las copias de trabajo que fueron creadas utilizando Subversion 1.4.0 y posteriores, el estado svn:needs-lock se guarda en la caché local por Subversion y se utiliza para determinar cuándo mostrar esta sobreimpresión. Para copias de trabajo que están en formato pre-1.4.x, TortoiseSVN muestra esta sobreimpresión cuando el fichero tiene el estado de sólo-lectura. Tenga en cuenta que Subversion automáticamente actualiza las copias de trabajo cuando las actualiza, aunque el almacenamiento en caché de la propiedad svn:needs-lock puede no realizarse hasta que el propio fichero se actualice.

La sobreimpresión Bloqueado se utiliza cuando la copia de trabajo local contiene un bloqueo para ese fichero.

La sobreimpresión 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. Esta sobreimpresión es opcional.

La sobreimpresión 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. Esta sobreimpresión es opcional.

Si un ítem tiene el estado de Subversion ninguno (el ítem no está dentro de una copia de trabajo), entonces no se mostrará ninguna sobreimpresión. Si ha escogido deshabilitar las sobreimpresiones Ignorado y Sin versionar entonces tampoco se mostrarán las sobreimpresiones para estos ficheros.

Un ítem sólo puede tener un valor de estado de Subversion. Por ejemplo un fichero 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 una sobreimpresión reflejando su propio estado y el estado de todos sus hijos. Para mostrar una única sobreimpresión resumen, utilizamos el orden de prioridad mostrado arriba para determinar qué sobreimpresión utilizar, tomando la sobreimpresión En conflicto como la que tiene mayor prioridad.

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á limitado a 15. Windows utiliza 4 de ellas, y las 11 restantes pueden ser utilizados por otras aplicaciones. Si no hay suficientes espacios para sobreimpresiones disponibles, TortoiseSVN intenta ser un “Buen Ciudadano (TM)” y limita su uso de sobreimpresiones para darles una oportunidad al resto de aplicaciones.

  • 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.

  • Bloqueado se carga sólo si hay menos de 13 sobreimpresiones ya cargadas. Se cambia por Normal si no hay suficientes huecos.

  • Añadido se carga sólo si hay menos de 14 sobreimpresiones ya cargadas. Se cambia por Modificado si no hay suficientes huecos.