Mais qui a comité ça ?!
Par MD3804-GANDI le mardi 22 décembre 2009, 10:12 - Lien permanent
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.