Mais qui a comité ça ?!

Lorsque vous développez, Vous pouvez avoir envie de savoir qui a comité un bout de code, pas forcément parce qu'il vous parait mauvais (soyons constructif !), mais peut être pour comprendre certains choix, parce que vous trouvez le code particulièrement beau, ou simplement par curiosité. La plupart des outils de gestion de versions fournissent des moyens de le faire grâce à la commande blame. Même si la commande peut porter à confusion, ce post, n'est pas à placer dans la rubrique "délation" mais plutôt "travail en équipe" : )

Avec SVN; il vous suffit de faire un svn blame suivi du nom du fichier. Peut être par déontologie, plusieurs alias sont disponibles : praise, annotate, ann. Une mauvaise approche consiste à faire un svn log parce qu'avec cette commande, la granularité est le fichier, vous devez donc parcourir les logs et faire des diff afin de trouver qui a modifié le bout de code qui vous intéresse.

Vous pouvez consulter la doc de SVN blame pour plus d'informations.

Avec GIT, la même commande git blame permet de faire la même chose que SVN blame (git annotate aussi, bien que présente pour assurer la compatibilité) mais GIT fournit beaucoup plus d'options :

  • La possibilité de spécifier les lignes de début et de fin pour lesquelles vous voulez voir les annotations.
  • De voir les modifications de façon incrémentale.
  • De savoir les lignes copiées à partir d'autres fichiers dans le même comit (utile dans le cas de refactoring)
  • De connaitre les lignes déplacées
  • ...

Vous pouvez consulter la doc de GIT blame pour plus d'informations

La plupart des IDE permettent également de le faire. Dans le cas d'Eclipse : Clic droit=>Team=>Show annotations.

La discussion continue ailleurs

URL de rétrolien : https://davidmasclet.gisgraphy.com/index.php?trackback/21

Fil des commentaires de ce billet