Manuals

Qui a changé quelle ligne ?

Parfois, vous avez besoin de savoir non seulement quelles lignes ont changé, mais aussi qui exactement a changé des lignes spécifiques dans un fichier. C'est à ce moment que la commande TortoiseSVNAnnoter..., parfois aussi mentionnée sous son nom anglais de blame, devient pratique.

Cette commande liste, pour chaque ligne d'un fichier, l'auteur et la révision où la ligne a été changée.

Annoter pour les fichiers

Figure 4.64. La boîte de dialogue Annoter

La boîte de dialogue Annoter


Si vous n'êtes pas intéressé par les changements des révisions précédentes, vous pouvez définir la révision d'où l'annotation devrait commencer. Mettez ce champ à 1 si vous voulez l'annotation pour toutes les révisions.

Par défaut, le fichier d'annotation est visualisé avec TortoiseBlame, qui surligne les différentes révisions pour le rendre plus facile à lire. Si vous voulez imprimer ou éditer le fichier d'annotation, cochez Utiliser la visionneuse texte pour voir les annotations.

Vous pouvez spécifier la manière de gérer les changements de caractères de fin de ligne et d'espacement. Ces options sont décrites dans la section intitulée « Options de fins de ligne et d'espacement ». Par défaut, toutes les modifications de caractères de fin de ligne et d'espacement sont considérés comme des changements à part entière, mais si vous souhaitez ignorer les changements d'indentation et trouver l'auteur original, vous pouvez sélectionner l'option appropriée ici.

Vous pouvez également inclure les informations de fusion si vous le souhaitez, bien que cette option puisse prendre nettement plus longtemps à récupérer depuis le serveur. Quand les lignes sont fusionnées depuis une autre source, l'information d'annotation montre la révision à laquelle le changement a été fait dans la source originale ainsi que la révision à laquelle il a été fusionné dans ce fichier.

Une fois que vous appuyez sur OK, TortoiseSVN commence à récupérer les données pour créer le fichier d'annotation. Une fois que le processus d'annotation est terminé, le résultat est écrit dans un fichier temporaire et vous pouvez visualiser les résultats.

Figure 4.65. TortoiseBlame

TortoiseBlame


TortoiseBlame, qui est inclus avec TortoiseSVN, rend le fichier d'annotation plus facile à lire. Quand vous survolez avec la souris une ligne dans la colonne de renseignements de l'annotation, toutes les lignes avec la même révision sont affichées avec un fond plus sombre. Les lignes d'autres révisions qui ont été changées par le même auteur sont affichées avec un fond clair. La coloration peut ne pas fonctionner aussi clairement si vous avez votre affichage en mode 256 couleurs.

Si vous faites un clic gauche sur une ligne, toutes les lignes avec la même révision sont mises en évidence et les lignes d'autres révisions du même auteur sont mises en évidence dans une couleur plus claire. Cette accentuation est figée, vous permettant de déplacer la souris sans perdre les points en évidence. Cliquez sur cette révision de nouveau pour arrêter l'accentuation.

Les commentaires de révision (commentaire du journal) sont affichés dans une info-bulle à chaque fois que la souris survole la colonne d'information de l'annotation. Si vous voulez copier le commentaire de cette révision, utilisez le menu contextuel qui apparaît quand vous faites un clic droit sur la colonne d'information de l'annotation.

Vous pouvez faire des recherches dans le rapport d'annotation en utilisant ÉditerRechercher.... Cela vous permet de chercher des numéros de révision, des auteurs et le contenu du fichier lui-même. Les commentaires ne sont pas inclus dans la recherche — vous devez utiliser la boîte de dialogue du journal pour faire une recherche dedans.

Vous pouvez aussi aller à une ligne particulière en utilisant EditerAller à la ligne....

Lorsque la souris survole la colonne annotation, un menu contextuel s'affiche vous permettant de comparer les révision et de consulter l'historique, en prenant comme référence le numéro de ligne sous le curseur de la souris. Menu contextuelAnnoter la révision précédente crée une annotation sur ce même fichier, mais en utilisant la révision précédente comme limite supérieure. Cela vous donne le rapport d'annotation du fichier dans l'état où il était juste avant que la ligne que vous survolez soit modifiée pour la dernière fois. Menu contextuelMontrer les modifications démarre votre visionneuse de différences, vous montrant ce qui a changé à la révision référencée. Menu contextuelMontrer les commentaires affiche la boîte de dialogue du journal des révisions, en commençant par la révision référencée.

Si vous souhaitez un meilleur indicateur visuel de l'emplacement des modifications les plus récentes et les plus anciennes, sélectionnez Voir Colorer l'âge des lignes. Cette option utilisera un gradient de couleur pour afficher les lignes les plus récentes en rouge et les plus anciennes en bleu. La coloration par défaut est assez légère, mais vous pouvez la modifier en utilisant les préférences de TortoiseBlame.

Si vous utilisez le suivi de fusion et que vous avez demandé les informations de fusion en lançant l'annotation, les lignes fusionnées sont affichées d'une façon légèrement différente. Quand une ligne a changé à la suite d'une fusion depuis un autre chemin, TortoiseBlame affichera la révision et l'auteur du dernier changement dans le fichier original plutôt que la révision où la fusion a eu lieu. Ces lignes sont indiquées en affichant la révision et l'auteur en italique. La révision où la fusion a eu lieu est affichée séparément dans l'infobulle quand la souris survole les colonnes d'information d'annotation. Si vous ne voulez pas que les lignes fusionnées soient affichées de cette façon, décochez la case Inclure les informations de fusion au moment de commencer l'annotation.

Si vous voulez voir les chemins concernés par la fusion, sélectionnez VoirFusionner les chemins. Cela affiche le chemin où la ligne a été modifiée pour la dernière fois, à l'exclusion des changements qui résultent d'une fusion.

La révision affichée dans l'information d'annotation représente la dernière révision où le contenu de cette ligne a changé. Si le fichier a été créé en copiant un autre fichier, alors, jusqu'à ce que vous changiez une ligne, sa révision d'annotation affichera le dernier changement dans le fichier source original, pas la révision où la copie a été effectuée. Cela s'applique également aux chemins affichés avec les informations de fusion. Le chemin affiche l'emplacement du dépôt où le dernier changement a été fait sur cette ligne.

On peut accéder aux paramètres de TortoiseBlame en sélectionnant TortoiseSVNParamètres... dans l'onglet TortoiseBlame. Voir la section intitulée « Configuration de TortoiseBlame ».

Annoter les différences

Une des limitations du rapport d'annotation est qu'il ne montre que le fichier tel qu'il était dans une révision donnée, et la dernière personne à changer chaque ligne. Parfois vous voulez savoir ce qui a été changé, ainsi que qui l'a changé. Si vous faites un clic droit sur une ligne dans TortoiseBlame, vous avez un élément de menu contextuel pour afficher les changements effectués dans cette révision. Mais si voulez voir les changements et les informations d'annotation en même temps, alors vous avez besoin d'une combinaison des rapports de comparaison et d'annotation.

La boîte de dialogue du journal de révision inclut plusieurs options vous permettant de faire cela.

Annoter les révisions

Dans le panneau supérieur, sélectionnez 2 révisions, puis sélectionnez Menu contextuelAnnoter les révisions. Cela récupèrera les données d'annotation pour les 2 révisions, puis utilisera le visualiseur de différences pour comparer les deux fichiers d'annotation.

Annoter les modifications

Sélectionnez une révision dans le panneau supérieur, puis choisissez un fichier dans le panneau inférieur et sélectionnez Menu contextuelAnnoter les modifications. Cela récupèrera les données d'annotation pour la révision sélectionnée et la révision précédente, puis utilisera le visualiseur de différences pour comparer les deux fichiers d'annotations.

Comparer avec la BASE de travail et annoter

Affichez le journal pour un seul fichier et, dans le panneau supérieur, choisissez une seule révision, puis sélectionnez Menu contextuelComparer avec la BASE de travail et annoter. Cela récupèrera les données d'annotation pour la révision choisie et pour le fichier dans la BASE de travail, puis utilisera le visualiseur de différences pour comparer les deux fichiers d'annotations.

TortoiseSVN homepage