Quand Mercurial met à jour vos tickets Trac!

Pour les utilisateurs de Trac et de Mercurial, il est possible d'utiliser un hook qui va automatiquement mettre à jour vos tickets à partir des commentaires que vous attachez à vos changesets.

Depuis la version 0.12 de Trac, cette configuration est encore plus simple à mettre en oeuvre. Premièrement, vous devez modifier la configuration de votre environnement Trac. Ajoutez la ligne suivante à la section trac :

repository_sync_per_request =

Activez ensuite les deux plugins suivants (section components) :

tracopt.ticket.commit_updater.committicketreferencemacro = enabled
tracopt.ticket.commit_updater.committicketupdater = enabled

Du côté de Mercurial, il reste ajouter un hook qui fera le travail à votre place. Personnellement, j'utilise le hook incoming car je dispose d'un dépôt de référence. Vous trouverez plus de détail sur la signification de chaque hook ici.

L'activation d'un hook se fait directement dans le fichier hgrc de votre dépôt (/chemin/vers/votre/dépôt/.hg/hgrc). Ajoutez y les lignes suivantes:

[hooks]
incoming = /chemin/vers/hgtrac_update.sh

Remplacez incoming par le hook que vous souhaitez utiliser. Le script hgtrac_update.sh est détaillé ci-dessous, il utilise la commande trac-admin pour faire le lien entre vos commits et vos tickets. Créez un nouveau fichier nommé hgtrac_update.sh et collez y le contenu suivant en n'oubliant pas de remplacer les différents chemins d'accès :

#!/bin/sh
/chemin/vers/trac-admin /chemin/vers/votre/dépôt changeset added "(default)" "$HG_NODE"

Rendez ce script exécutable et installez le dans un emplacement accessible par Mercurial (par exemple /usr/local/bin). Votre configuration est terminée, vous pouvez désormais mettre à jour vos tickets directement depuis vos commits.

Pour finir, sachez qu'il faut respecter une certaine syntaxe dans vos commentaires pour que cela fonctionne. Vous trouverez tout ce qu'il faut dans la doc.

0 commentaires

Aucun commentaire!

Postez votre commentaire