Git bisect, le bugtracking sans prise de tête

Vous savez surement à quel point chercher un bug dans un gros projet peut être rébarbatif, surtout quand le bug est apparu il y a longtemps, et qu’un nombre considérable de commits se sont passés depuis.

Git offre la possibilité d’optimiser cette recherche via la commande git bisect.

Cette commande permet à git de faire une recherche dichotomique.

C’est parti, simplement « git bisect start« .

Vous devez ensuite indiquer à git un point ou le bug n’était pas présent, puis un point ou le bug était présent.

git co master && git bisect good

git co HEAD~40 && git bisect bad

(vous pouvez aussi appeler git bisect good_comit bad_commit)

Un peu comme un plus ou moins, git va alors changer le commit actuel de votre dépôt local (il va prendre le commit au milieu des deux que vous lui avez indiqué), à vous de tester et de lui indiquer si le commit est bon « git bisect good », ou mauvais « git bisect bad »

 

Au bout de quelques étapes, git va débusquer le commit fautif, et il sera aisé de trouver le bug.

Il est possible d’automatiser cette étape avec git bisect run, en lui passant en paramètre un script, qui renverra 0 ou 1 si le commit est bon ou mauvais.

 

Happy gitting!

Partagez :-)
Facebook Twitter Email
  1. Aucun commentaire pour l'instant

  1. Aucun trackback pour l'instant


+ trois = 5