2010-09-21 4 views
4

Je dois envoyer un email avec diff après validation dans le dépôt. Je sais comment envoyer des emails après le push, mais ça ne marche pas pour les commits.Envoyer un mail après git commit pas push

Pour les pushs, j'ai créé un hook post-receive qui obtient des paramètres. Mais le hook post-commit ne reçoit aucun paramètre et à cause de cela je ne peux pas utiliser mon script qui envoie du courrier.

Peut-être qu'il y a un moyen d'obtenir des informations sur newrev et refname dans le post-commit hook, ou il y a une autre façon d'envoyer du courrier après la validation?

+2

sont ceux des crochets sur le serveur (référentiel « d'origine »)? Si oui, voulez-vous avoir aussi un commit-hook sur le serveur (y a-t-il quelqu'un qui s'y connecte directement?), Ou sur votre machine cliente? Dans la configuration habituelle, un "push" est ce qui serait un "commit" au sens "traditionnel" (svn). Les commits Git sont des événements locaux, qui ne sont pas nécessairement partagés avec quiconque. – Thilo

+0

Non, il n'y a pas d'autre référentiel à pousser. S'il y avait je n'ai pas posé cette question =) – bessarabov

Répondre

6

La réponse est simple =) J'ai résolu mon problème en créant hook post-commit avec cette ligne:

git log -1 -p|mail -s "Git commit" [email protected] 
+0

J'ai essayé ceci mais cela n'a pas fonctionné, mail retourné 'send-mail: option invalide - 's''. Il s'avère que sur les nouvelles versions de mail il est maintenant nécessaire de placer votre adresse après le commutateur -s (sujet) comme si git log -1 -p | mail -s "Git commit" mail @ example.com' –

+0

@ anthony-hatzopoulos - Je vous remercie! J'ai corrigé ma réponse. – bessarabov