Le moyen le plus simple / le meilleur de configurer des e-mails de validation SVN?

StackOverflow https://stackoverflow.com/questions/501692

  •  20-08-2019
  •  | 
  •  

Question

Je souhaite configurer des e-mails de validation pour un projet sur lequel je travaille, comme décrit ici:
   http://producingoss.com/en/vc.html#commit-emails

En d’autres termes, utilisez un hook de post-commit pour envoyer un email à une liste contenant le titre / log de commit et le diff des modifications.

Quel est le moyen le plus simple de configurer cela sur une machine Linux?

Était-ce utile?

La solution

Lors de la création d'un nouveau référentiel, un exemple de hook de post-validation est fourni dans hooks/post-commit.tmpl. Il contient une ligne qui ressemble plus ou moins à ceci:

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" commit-watchers@example.org

Il suffit de remplacer l'adresse e-mail par l'adresse à laquelle vous souhaitez envoyer des notifications, renommez le script en hooks/post-commit (supprimez l'extension tmpl) et rendez-le exécutable (chmod a+x).

Lorsque vous exécutez le script commit-email.pl sans arguments, un écran d'utilisation contenant des options supplémentaires vous permettant, par exemple, de modifier la ligne de sujet ou l'adresse de l'expéditeur.

Veuillez noter que dans le cas de Debian, le script subversion-tools se trouve dans un package facultatif <=>.

Autres conseils

Bien que cette question soit un peu ancienne, je pensais que je laisserais mon opinion à ceux qui viennent ici de Google:

J'ai examiné les solutions mentionnées ici. Le commit-email.pl était à la fois plus facile et plus efficace pour moi. Cependant, je trouve que les deux solutions n’ont pas la bonne mise en forme.

Ainsi, le package svnnotify semble produire pour moi des emails suffisamment formatés et colorés.

Sur les systèmes Debian / Ubuntu, vous pouvez l’installer en tapant:

apt-get install libsvn-notify-perl

Ensuite, si vous souhaitez envoyer des e-mails à des comptes Gmail, en raison d'un support CSS inhabituel dans Gmail, je vous recommande fortement d'appliquer le correctif trouvé ici , ce qui signifie:

  • Téléchargez HTML.pm et ColorDiff.pm
  • Remplacez-les par /usr/share/perl5/SVN/Notify/HTML.pm et /usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm, respectivement.

Et enfin, configurez le post-commit script de hook de la manière habituelle:

# email notifications for commits
/usr/bin/svnnotify --repos-path "$REPOS" --revision "$REV" \
    --to your.email@address.com \
    --from from.email@address.com \
    --with-diff \
    --subject-cx \
    --subject-prefix 'Your Project Name: ' \
    --handler HTML::ColorDiff \
    --css-inline
    2>&1 &

exit 0

Nous utilisons svnmailer pour cela. Nous établissons un lien symbolique entre nos scripts de connexion post-commit spécifiques au référentiel et un seul script, qui à son tour appelle svnmailer. La configuration est assez simple, et avec leur simple.conf exemple de configuration, vous pouvez être opérationnel en quelques minutes. Notez qu’il est écrit en Python, c’est donc une condition préalable à l’installation.

L'ensemble de notre script de hook post-commit ne comporte que quelques lignes (notez que vous pouvez faire d'autres choses dans votre hook post-commit, mais ce n'est pas le cas actuellement):

#!/bin/sh

CONFIG="/usr/local/svnmailer/default.conf"
MAILER="/usr/bin/svn-mailer"

# These are passed in by subversion
REPOS="$1"
REV="$2"

"${MAILER}" --commit \
            --config "${CONFIG}" \
            --repository "${REPOS}" \
            --revision "${REV}" \
            --background

Vérifiez le package svn-mod-email décrit ici . svn-mod-email est un puissant outil de gestion des notifications par courrier électronique SVN, fourni sous forme d'archive Debian. Il est facile à installer, configurer et utiliser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top