Qui a changé quelle ligne ?

Parfois, vous avez besoin de connaître non seulement quelles lignes ont changé, mais aussi exactement qui a changé des lignes spécifiques dans un fichier. C'est à ce moment que la commande TortoiseSVNAnnoter..., parfois aussi mentionnée comme la commande annoter 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.62. La boîte de dialogue Annoter

La boîte de dialogue Annoter


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

By default the blame file is viewed using TortoiseBlame, which highlights the different revisions to make it easier to read. If you wish to print or edit the blame file, select Use Text viewer to view blames.

Vous pouvez indiquer 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, ceci dit si vous souhaitez ignorer les changements d'indentation et trouver l'auteur original, vous pouvez appliquer l'option appropriée ici.

You can include merge information as well if you wish, although this option can take considerably longer to retrieve from the server. When lines are merged from another source, the blame information shows the revision the change was made in the original source as well as the revision when it was merged into this file.

Once you press OK TortoiseSVN starts retrieving the data to create the blame file. Once the blame process has finished the result is written into a temporary file and you can view the results.

Figure 4.63. 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 devriez utiliser la boîte de dialogue de Journal pour la recherche.

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. Ce qui donne les annotations du fichier juste avant la ligne que vous survolez tel qu'il était avant les dernières modifications. Menu ContextuelMontrer les modifications démarre votre visionneuse de différences, vos montrant ce qui a changé à la révision référencée. Menu ContextuelMontrer les commentaires affiche la fenêtre de commentaire des révisions, commençant par la révision référencée.

Si vous souhaitez un meilleur indicateur concernant les modifications les plus récentes et les plus anciennes, Voir Colorer l'âge des lignes. Cette option utilisera un gradient de couleur pour afficher les nouvelles lignes 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.

If you are using Merge Tracking and you requested merge info when starting the blame, merged lines are shown slightly differently. Where a line has changed as a result of merging from another path, TortoiseBlame will show the revision and author of the last change in the original file rather than the revision where the merge took place. These lines are indicated by showing the revision and author in italics. The revision where the merge took place is shown separately in the tooltip when you hover the mouse over the blame info columns. If you do not want merged lines shown in this way, uncheck the Include merge info checkbox when starting the blame.

If you want to see the paths involved in the merge, select ViewMerge paths. This shows the path where the line was last changed, excluding changes resulting from a merge.

The revision shown in the blame information represents the last revision where the content of that line changed. If the file was created by copying another file, then until you change a line, its blame revision will show the last change in the original source file, not the revision where the copy was made. This also applies to the paths shown with merge info. The path shows the repository location where the last change was made to that line.

Les paramètres de TortoiseBlame peuvent être affiché en sélectionnant TortoiseSVNParamètres... dans l'onglet TortoiseBlame. Voir la section intitulée « Configuration de TortoiseBlame ».

Annoter les différences

One of the limitations of the Blame report is that it only shows the file as it was in a particular revision, and the last person to change each line. Sometimes you want to know what change was made, as well as who made it. If you right click on a line in TortoiseBlame you have a context menu item to show the changes made in that revision. But if you want to see the changes and the blame information simultaneously then you need a combination of the diff and blame reports.

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 parcoura les annotations pour les 2 révisions puis utilisera le visualisateur de différences pour comparer les deux fichiers d'annotation.

Bannir 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 différences. Cela ira chercher les annotations pour la révision sélectionnée et la révision précédente, puis utilisera le visualisateur de différences pour comparer les deux fichiers d'annotations.

Comparez et annoter avec la BASE de travail

Affichez le journal pour un seul fichier et, dans le panneau supérieur, choisissez une seule révision, puis sélectionnez Menu contextuelComparer et annoter avec la BASE de travail. Cela ira chercher les annotations pour la révision choisie et pour le fichier dans la BASE de travail, puis utilisera ensuite le visualisateur de différences pour comparer les deux fichiers d'annotations.