Changelog automatique avec Git

Si vous utilisez Git (pourquoi pas avec SourceTree comme sur cet article), vous avez peut être envie d’avoir un changelog qui se crée en automatique sur votre application. Nous avons eu ce besoin il y a peu, j’en profite pour vous donner le code adéquat.

Créer le changelog n’est pas très compliqué. Il va falloir par compte jouer avec les différentes options de rendu de Git pour avoir quelque chose de propre et de satisfaisant. Par exemple, vous ne souhaitez sans doute afficher que les messages de commit que vous aurez saisi. Et pas tous les messages indiquant des merges entre les différentes branches. Ils n’ont pas forcément lieu d’être sur un changelog.

Vous pouvez utiliser la ligne suivante pour obtenir en cellules de tableau les informations :

</pre>
<pre class="brush: php; title: ; notranslate" title="">git log --no-merges --pretty=format:'<tr><td>%ci</td><td>%an</td><td>%s</td></tr>'</pre>
<pre>

Nous sommes de notre côté sur une application PHP. Nous faisons donc un shell_exec de cette ligne pour récupérer ce bout de tableau dans une variable. Il suffit de terminer le tableau (début et fin de tableau, entête) et l’afficher.

Les valeurs avec des % (%ci, %an, %s) sont les valeurs gérées par le pretty format. Dans le cas de l’exemple ci-dessus, cela va permettre d’afficher la date, l’auteur et le sujet du commit.
Vous aurez sur cette page de la documentation la liste des valeurs possibles et à quoi elles correspondent pour adapter le tableau à ce que vous souhaitez.

Laisser un commentaire