Graphiques de révision

Figure 4.65. Un graphique de révision

Un graphique de révision


Parfois vous avez besoin de savoir à quel moment les branches et les étiquettes ont été prises du tronc et la façon idéale de voir ce genre d'informations est comme un graphique ou une structure arborescente. C'est à ce moment que vous devez utiliser TortoiseSVNGraphique de révision

Cette commande analyse l'historique des révisions et essaye de créer un arbre montrant les points auxquels les copies ont été prises et quand les branches/étiquettes ont été supprimées.

Important

Pour générer le graphique, TortoiseSVN doit aller chercher tous les commentaires dans la racine du dépôt. Inutile de dire que cela peut prendre plusieurs minutes même avec un dépôt de seulement quelques milliers de révisions, selon la vitesse du serveur, la bande passante du réseau, etc. Si vous essayez avec quelque chose comme le projet Apache, qui a actuellement plus de 500 000 révisions, vous pourriez attendre un moment.

La bonne nouvelle est que vous si mettez le journal en cache, vous n'aurez à attendre qu'une fois. Par la suite, ces données seront stockées localement. Ce paramètre est activé dans la configuration de TortoiseSVN.

Graphiques des révisions

Chaque noeud du graphe représente une révision dans le dépôt dans lequel quelque chose a changé. Les différents types de nœuds peuvent être distingués par leur forme et leur couleur. Les formes sont fixes, mais les couleurs peuvent être définies à l'aide de TortoiseSVNParamètres

Eléments ajoutés ou copiés

Les éléments qui ont été ajoutés ou créés en copiant un autre fichier/dossier sont affichés en utilisant un rectangle arrondi. La couleur par défaut est le vert. Les Tags et le trunk sont traités comme un cas particulier et utilise une nuance différente, selon les TortoiseSVN Paramètres .

Elements supprimés

Les éléments supprimés (ex. une branche qui n'est plus requise) sont affichés avec une octogone (un rectangle avec les coins coupés). La couleur par défaut est le rouge.

Elements renommés

Les éléments renommés seront également affichés avec un octogone, mais seront de couleur bleue par défaut.

Révision de pointe de branche

Le graphique est normalement limité aux points de branchement, mais il peut aussi être souvent utile de voir la révision "HEAD" respective de chaque branche. Si vous sélectionnez Afficher les révisions HEAD, chaque nœud de révision HEAD sera affiché comme une ellipse. Notez que HEAD se réfère ici à la dernière révision livré sur ce chemin, et non à la révision HEAD du dépôt.

Révision de la Copie de Travail

Si vous avez invoqué le graphique de révision à partir d'une copie de travail, vous pouvez choisir de montrer la révision BASE sur le graphique à l'aide de Afficher la révision WC, qui marque le noeud BASE avec un contour en gras.

Copie de travail modifiée

Si vous avez invoqué le graphique de révision à partir d'une copie de travail, vous pouvez choisir de montrer un nœud supplémentaire représentant votre copie de travail modifiée à l'aide deAfficher les modifications WC. Il s'agit d'un noeud elliptique avec un contour en gras rouge par défaut.

Element normal

Tous les autres éléments sont affichés en utilisant un rectangle plat.

Notez que par défaut le graphique ne montre que les points auxquels des éléments ont été ajoutés, copiés ou supprimés. Afficher chaque révision d'un projet pourrait produire un graphique très grand pour des cas peu communs. Si vous voulez vraiment voir toutes les révisions pour lesquelles des modifications ont été apportées, il existe une option pour ce faire dans le menu Affichage et sur la barre d'outils.

L'affichage par défaut (sans regroupement) place les nœuds de telle sorte que leur position verticale reflète l'ordre strict de révision, ainsi vous avez un repère visuel pour l'ordre dans lequel les choses ont été faites. Lorsque deux nœuds sont dans la même colonne, l'ordre est très évident. Lorsque deux nœuds sont dans des colonnes voisines, le décalage est beaucoup plus faible car il n'est pas nécessaire d'empêcher les nœuds de se chevaucher, et en conséquence l'ordre est un peu moins évident. Ces optimisations sont nécessaires pour que les graphiques complexes restent à une taille raisonnable. Veuillez noter que cette organisation utilise le bord du noeud sur l'ancien côté comme une référence, c'est à dire le bord inférieur du nœud lorsque le graphique est représenté avec le plus ancien noeud en bas. Le bord de référence est important, car les formes des nœuds ne font pas toutes la même hauteur.

Changer l'affichage

Parce qu'un graphique de révision est souvent très complexe, il existe un certain nombre de caractéristiques qui peuvent être utilisées pour adapter la façon dont vous souhaitez le voir. Celles-ci sont disponibles dans le menu Voir et à partir de la barre d'outils.

Groupe les branches

Le comportement par défaut (sans regroupement) montre toutes les lignes triées strictement par révision. En conséquence, les branches très anciennes avec des modifications clairsemées occupent une colonne entière pour seulement quelques changements et le graphe devient très large.

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.

Les plus anciens en haut

Normallement, le graphique affiche les révisions les plus anciennes en bas, et l'arborescence se développe par le haut. Utilisez cette option pour que cette dernière s'affiche de haut en bas.

Aligner les arborescences en haut

Lorsqu'un graphique est divisé en plusieurs petits arbres, les arbres peuvent apparaître soit dans l'ordre naturel de révision, ou alignés au bas de la fenêtre, selon que vous utilisiez ou pas l'option Grouper les branches. Utilisez cette option pour développer tous les arbres du haut vers le bas.

Réduire les intersections

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.

Chemins d'accès différentiels

Des noms de chemin longs peuvent prendre beaucoup d'espace et rendre les cases des noeuds très large. Utilisez cette option pour afficher seulement la partie modifiée d'un chemin, en remplaçant la partie commune avec des points. Par exemple, si vous créez une branche /branches/1.2.x/doc/html à partir de /trunk/doc/html, la branche pourrait être présentée sous forme compacte /branches/1.2.x/.. parce que les deux derniers niveaux, doc et html n'ont pas changés.

Montrer toutes les révisions

Cela fait exactement ce que vous attendiez et montre chaque révision où quelque chose (dans l'arbre que vous dessinez) a changé. Pour un long historique, cela peut produire un graphique véritablement énorme.

Montrer la version de tête (HEAD)

Cela garantit que la dernière révision de chaque branche est toujours indiquée sur le graphique.

Copie exacte des sources

Quand une branche / étiquette est créée, le comportement par défaut est de montrer la branche comme tirée du dernier nœud où une modification a été apportée. Strictement parlant cela est inapproprié puisque les branches sont souvent issues du HEAD courant plutôt que d'une révision spécifique. Il est donc possible de montrer la révision la plus juste (mais la moins utile) qui a été utilisé pour créer la copie. Notez que cette révision peut être plus récente que la révision HEAD de la branche source.

Replier les étiquettes

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.

Notez que si un tag est lui-même utilisé comme source pour obtenir une copie, peut-être une nouvelle branche basée sur un tag, alors ce tag sera affiché comme un nœud distinct plutôt que plié.

Cacher les répertoires supprimés

Cache les chemins qui ne sont plus présents dans la révision HEAD du dépôt, par exemple, des branches supprimées.

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.

Si vous sélectionnez l'option Masquer les balises , alors ces branches vont disparaître à nouveau comme elles ne sont pas nécessaires pour afficher les étiquettes.

Cacher les branches inutilisées

Cahce les branches où aucun changement n'a été validé dans le fichier ou le sous-dossier respectif. Cela ne signifie pas nécessairement que la branche n'a pas été utilisée, simplement qu'aucune modification n'a été apportée à cette partie de la branche.

Montrer la version de la CdT

Marque la révision sur le graphique qui correspond à la révision mise à jour de l'élément pour lequel vous affichez le grapique. Si vous avez juste mis à jour, ce sera HEAD, mais si d'autres personnes ont livrés des changements depuis votre dernière mise à jour, votre CdT (copie de travail) peut se retrouver à quelques révisions antérieures. Le nœud est marqué en lui donnant un contour gras.

Montrer les modifications de la CdT

Si votre CdT contient des modifications locales, cette option la représente comme un nœud séparé elliptique, lié au noeud pour lequel votre CdT a été mise à jour en dernier. La couleur du contour par défaut est le rouge. Vous pouvez avoir besoin d'actualiser le graphique à l'aide de F5 pour afficher les récents changements.

filtrer

Parfois, le graphique de révision contient plus de révisions que vous ne voulez en voir. Cette option ouvre une boîte de dialogue qui vous permet de restreindre la plage des révisions affichées, et de cacher des chemins particuliers par leur nom.

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.

Couleur des arbres

Lorsque le graphique contient plusieurs arbres, il est parfois intéressant d'utiliser des couleurs en alternance pour pouvoir les distinguer.

Montrer l'aperçu

Affiche une petite image du graphique en entier, avec la fenêtre courante dans un rectangle que vous pouvez faire glisser. Cela vous permet de naviguer sur le graphique plus facilement. Notez que pour les très grands graphiques, l'aperçu peut devenir inutile en raison du facteur de zoom extrême et ne sera donc pas montré dans de tels cas.

Utiliser le Graphique de révisions

Pour rendre plus facile la navigation dans un large graphe, utilisez la fenêtre Aperçu. Cela montre le graphique entier dans une petite fenêtre, avec la partie actuellement affichée en surbrillance. Vous pouvez faire glisser la zone en surbrillance pour changer la région affichée.

La date de révision, l'auteur et les commentaires sont affichés dans une info-bulle chaque fois que la souris survole une boîte de révision.

Si vous sélectionnez deux révisions (faites un clic gauche avec Ctrl), vous pouvez utiliser le menu contextuel pour afficher les différences entre ces révisions. Vous pouvez vouloir afficher les différences comme aux points de création de branche, mais le plus souvent vous voudrez afficher les différences aux points de fin de branche, c'est-à-dire à la révision HEAD.

Vous pouvez voir les différences avec un fichier de différences unifiées, qui montre toutes les différences dans un seul fichier avec un contexte minimal. Si vous optez pour Menu contextuelComparer les révisions, vous vous retrouvez avec une liste des fichiers modifiés. Double-cliquez sur un nom de fichier pour aller chercher les deux révisions du fichier et les comparer en utilisant l'outil de comparaison visuel.

Si vous faites un clic droit sur une révision, vous pouvez utiliser Menu contextuelVoir le journal pour voir l'historique.

Vous pouvez également fusionner les modifications dans la (les) révision(s) sélectionnée(s) dans une autre copie de travail. Une boîte de dialogue de sélection de dossier vous permet de choisir la copie de travail vers laquelle fusionner, mais après cela il n'y a pas de demande de confirmation, ni possibilité de mener un test de fusion. C'est une bonne idée de fusionner dans une copie de travail non modifiée afin que vous puissiez annuler les modifications si elles ne fonctionnent pas! Cette fonctionnalité est utile si vous souhaitez fusionner les versions sélectionnées d'une branche à l'autre.

Apprendre à Lire le Graphe de Révisions

Les utilisateurs qui affichent un graphique pour la première fois peuvent être surpris par le fait que le graphique de révision montre quelque chose qui ne correspond pas au modèle auquel pense l'utilisateur. Si une révision change des copies multiples ou des branches d'un fichier ou d'un dossier, par exemple, alors il y aura plusieurs nœuds pour cette seule révision. Il est bon de commencer avec les options par défaut dans la barre d'outils et de personnaliser graphique étape par étape jusqu'à ce qu'il se rapproche de votre vision.

Toutes les options de filtre essaient de perdre le moins d'informations possible. Cela peut provoquer le changement de couleur de certains nœuds, par exemple. Chaque fois que le résultat est inattendu, annuler la dernière opération de filtrage et essayer de comprendre ce qui est particulier à cette révision ou cette branche. Dans la plupart des cas, le résultat initialement prévu de l'opération de filtrage est soit inexact soit trompeur.

Refraîchissement de l'affichage

Si vous voulez à nouveau vérifier le serveur pour de nouvelles informations, il vous suffit de rafraîchir la vue en utilisant F5. Si vous utilisez le cache log (activé par défaut), cela va examiner le dépôt pour les livraisons les plus récentes et récupérer seulement les nouvelles. Si le cache log était en mode hors connexion, cela permettra également de revenir en arrière en ligne.

Si vous utilisez le cache log et vous pensez que le contenu du message ou l'auteur a changé, vous devez utiliser la boîte de dialogue de log pour actualiser les messages dont vous avez besoin. Puisque le graphique des révisions se base sur la racine du dépôt, nous aurions à invalider intégralement le cache log, et le remplir à nouveau pourrait prendre un temps très long.

Visualisation des arborescences

Il peut être difficile de naviguer dans un grand arbre et parfois vous souhaiterez en cacher certaines parties, ou le décomposer en une forêt de plus petits arbres. Si vous passez la souris sur le point où il y a un lien de noeud, vous verrez un ou plusieurs boutons popup qui vous permettent de le faire.

Cliquez sur le bouton "moins" pour réduire la sous arborescence.

Cliquez sur le bouton "plus" pour développer une sous arborescence. Quand une arborescence a été réduite, ce bouton reste pour montrer la sous arborescence cachée.

Cliquez sur le bouton "croix" pour séparer la sous arborescence et l'afficher comme une arborescence séparée.

Cliquez sur le bouton "rond" pour ré-attacher une sous arborescence préalablement séparée. Quand une arborescence a été séparée, ce bouton reste visible pouir indiquer qu'il y a une sous arborescence séparée.

Cliquez sur l'arrière plan du graphique pour le menu contextuel principal, qui offre des options pour Tout développer et Tout replier. Si aucune branche n'a été repliée ou scindée, le menu contextuel ne sera pas montré.