Annexe F. Détails de l'implémentation

Table des matières

Recouvrement d'icônes

Cette annexe contient plus de détails concernant l'implémentation de quelques fonctionnalités de TortoiseSVN.

Recouvrement d'icônes

Chaque fichier et dossier a une valeur de statut Subversion tel que rapporté par la bibliothèque de Subversion. Dans le client de ligne de commande, elles sont représentées par des codes d'une seule lettre, mais dans TortoiseSVN elles sont représentées graphiquement en utilisant les icônes d'avant-plan. Parce que le nombre d'avant-plan est très limité, chacun d'eux peut représenter une ou plusieurs valeurs de statut.

L'icone de recouvrement En Conflit est utilisée pour représenter un état en conflit, là ou une mise à jour génère des conflits entre la version locale et la version du dépôt. Elle est aussi utilisée pour un état bloqué, qui peut se produire quand une opération ne se termine pas correctement.

L'icone de recouvrement Modifié représente un état modifié, i.e. lorsque vous avez fait des modifications, l'état fusionné se produit lorsque les versions du dépôt ont changé et qu'elles ont été intégrées à la version locale, et l'état remplacé se produit lorsqu'un fichier a été supprimé et remplacé par un autre ayant le même nom mais dont le contenu est différent.

L'icone de recouvrement Supprimé représente un état supprimé, i.e. lorsqu'un élément a été marqué comme étant à supprimer, ou un état manquant, i.e. lorsqu'un élément n'est pas présent en local. Naturellement un élément qui manque ne peut avoir lui même d'icone de recouvrement, mais le répertoire le contenant le peut.

L'overlay indique juste qu'un fichier ou un dossier a été ajouté au contrôle de version.

L'icone de recouvrement Dans Subversion est utilisé pour représenter un élément qui est dans un état normal, ou un élément sous contrôle de version dont l'état n'est pas encore connu. TortoiseSVN fonctionne avec un système de mise en cache en arrière plan pour récupérer les états, les mises à jours des icones de recouvrement peuvent donc prendre quelques secondes.

The Needs Lock overlay is used to indicate when a file has the svn:needs-lock property set.

L'icone de recouvrement Verrouillé est utilisée lorsque le fichier est verrouillé dans la copie de travail.

L'icône de recouvrement Ignoré indique qu'un élément est dans un état ignoré, soit car il satisfait une condition globale (global pattern) soit car il satisfait une condition du dossier parent. Cette icone de recouvrement est optionnelle.

L'icône de recouvrement non versionné est utilisé pour représenté un élément étant dans l'état non versionné. C'est à dire un élément situé dans un répertoire sous contrôle de version, mais qui n'est pas lui même sous contrôle de version. Cette icone de recouvrement est optionelle.

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 élément ne peut avoir qu'une seule valeur de statut Subversion. Par exemple, un fichier peut être modifié localement et il pourrait être marqué pour suppression dans le même temps. Subversion renvoie une valeur de statut unique - dans ce cas supprimé. Ces priorités sont définies au sein de Subversion lui-même.

Lorsque TortoiseSVN affiche le statut récursivement (le réglage par défaut), sur chaque dossier est affichée une icône reflétant son propre statut et celui de tous ses enfants. Pour afficher une icône qui résumeemphasis> l'ensemble, nous utilisons l'ordre de prioriten conflit prenant la priorit

In fact, you may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications. If there are not enough overlay slots available, TortoiseSVN tries to be a Good Citizen (TM) and limits its use of overlays to give other apps a chance.

Since there are Tortoise clients available for other version control systems, we've created a shared component which is responsible for showing the overlay icons. The technical details are not important here, all you need to know is that this shared component allows all Tortoise clients to use the same overlays and therefore the limit of 11 available slots isn't used up by installing more than one Tortoise client. Of course there's one small drawback: all Tortoise clients use the same overlay icons, so you can't figure out by the overlay icons what version control system a working copy is using.

  • Normal, Modifié et En conflit sont toujours chargés et visibles.

  • Supprimé est chargé si possible, mais dedevient Modifié s'il n'y a pas assez de connecteurs.

  • Lecture seule est chargé si possible, mais redevient Normal s'il n'y a pas assez de connecteurs.

  • Locked is loaded if possible, but falls back to Normal if there are not enough slots.

  • Ajouté est chargé si possible, mais retombe à Mis à jour s'il n'y a pas assez d'emplacements.