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 TortoiseSVNCondamner..., 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.

Condamner pour les fichiers

Figure 5.43. La boîte de dialogue Condamner / Annoter

La boîte de dialogue Condamner / 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ù la condamnation devrait commencer. Mettez cela à 1, si vous voulez la condamnation pour toutes les révisions.

Par défaut le fichier de condamnation est visualisé en utilisant TortoiseBlame, qui met en évidence les différentes révisions pour le rendre plus facile à lire. Si vous voulez imprimer ou éditer le fichier de condamnation, sélectionnez Utiliser le visualisateur texte pour voir les condamnations

You can specify the way that line ending and whitespace changes are handled. These options are described in la section intitulée « Options de fins de ligne et d'espacement ». The default behaviour is to treat all whitespace and line-end differences as real changes, but if you want to ignore an indentation change and find the original author, you can choose an appropriate option here.

Une fois que vous cliquez sur OK TortoiseSVN commence à récupérer les données pour créer le fichier de condamnation. Veuillez noter : Cela peut prendre plusieurs minutes, selon le nombre de fois que le fichier a été modifié et bien sûr, selon votre connexion réseau au référentiel. Une fois que le processus de condamnation a terminé, le résultat est écrit dans un fichier temporaire et vous pouvez voir les résultats.

Figure 5.44. TortoiseBlame

TortoiseBlame


TortoiseBlame, qui est inclus avec TortoiseSVN, rend le fichier de condamnation plus facile à lire. Quand vous survolez avec la souris une ligne dans la colonne de renseignements de la condamnation, 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 la condamnation. 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 la condamnation.

Vous pouvez faire des recherches dans le rapport de condamnation 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 rechercher dedans.

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

When the mouse is over the blame info columns, a context menu is available which helps with comparing revisions and examining history, using the revision number of the line under the mouse as a reference. Context menuBlame previous revision generates a blame report for the same file, but using the previous revision as the upper limit. This gives you the blame report for the state of the file just before the line you are looking at was last changed. Context menuShow changes starts your diff viewer, showing you what changed in the referenced revision. Context menuShow log displays the revision log dialog starting with the referenced revision.

If you need a better visual indicator of where the oldest and newest changes are, select ViewColor age of lines. This will use a colour gradient to show newer lines in red and older lines in blue. The default colouring is quite light, but you can change it using the TortoiseBlame settings.

If you are using Merge Tracking, where lines have 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.

If you want to see the paths involved in the merge, select ViewMerge paths.

The settings for TortoiseBlame can be accessed using TortoiseSVNSettings... on the TortoiseBlame tab. Refer to la section intitulée « Configuration de TortoiseBlame ».

Condamner les différences

L'une des limitations du rapport de condamnation est qu'il ne montre que le fichier tel qu'il était à une révision particulière et montre la dernière personne à avoir changé chaque ligne. Parfois vous voulez connaître quel changement a été fait, et aussi qui l'a fait. Ce dont vous avez ici besoin est une combinaison des rapports de condamnation et de comparaison.

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

Condamner les révisions

Dans le panneau supérieur, sélectionnez 2 révisions, puis sélectionnez Menu contextuelCondamner les révisions. Cela parcoura les données de condamnation pour les 2 révisions puis utilisera le visualisateur de différences pour comparer les deux fichiers de condamnation.

Bannir les modifications

Select one revision in the top pane, then pick one file in the bottom pane and select Context menuBlame changes. This will fetch the blame data for the selected revision and the previous revision, then use the diff viewer to compare the two blame files.

Comparez et condamner 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 condamner avec la BASE de travail. Cela ira chercher les données de condamnation 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 de condamnation.