Самый простой / лучший способ настроить отправку писем в SVN? - PullRequest
19 голосов
/ 02 февраля 2009

Я бы хотел настроить отправку сообщений о коммитах для проекта, над которым я работаю, как описано здесь:
http://producingoss.com/en/vc.html#commit-emails

То есть с помощью перехвата пост-фиксации отправьте сообщение электронной почты в список, содержащий заголовок / журнал фиксации и разницу изменений.

Какой самый простой способ на компьютере с Linux это настроить?

Ответы [ 4 ]

34 голосов
/ 20 марта 2011

Хотя этот вопрос немного устарел, я подумал, что оставлю свое мнение для тех, кто пришел сюда из Google:

Я рассмотрел решения, упомянутые здесь. commit-email.pl было и легче, и лучше для меня. Однако я считаю, что в обоих решениях отсутствует правильное форматирование.

Таким образом, пакет svnnotify, кажется, производит достаточно хорошо отформатированные и цветные электронные письма для меня.

В системах Debian / Ubuntu вы можете установить его, набрав:

apt-get install libsvn-notify-perl

Затем, если вы собираетесь отправлять письма на учетные записи Gmail, из-за странной поддержки CSS в Gmail, я настоятельно рекомендую применить патч , найденный здесь , что означает:

  • Скачать HTML.pm и ColorDiff.pm
  • Заменить на них /usr/share/perl5/SVN/Notify/HTML.pm и /usr/share/perl5/SVN/Notify/HTML/ColorDiff.pm соответственно.

И, наконец, настройте скрипт подключения post-commit обычным способом:

# 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
18 голосов
/ 02 февраля 2009

При создании нового репозитория образец хука после фиксации предоставляется в hooks/post-commit.tmpl. Он содержит строку, которая выглядит примерно так:

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

Просто замените электронное письмо адресом, на который вы хотите отправлять уведомления, переименуйте скрипт в hooks/post-commit (удалите расширение tmpl) и сделайте его исполняемым (chmod a+x).

Когда вы запустите сценарий commit-email.pl без каких-либо аргументов, вы увидите экран использования с дополнительными опциями, которые позволяют, например, изменить строку темы или адрес отправителя.

Обратите внимание, что в случае Debian сценарий commit-email.pl находится в дополнительном пакете subversion-tools.

10 голосов
/ 02 февраля 2009

Мы используем svnmailer для этого. Мы символически связываем наши специфичные для репозитория скрипты post-commit с одним скриптом, который, в свою очередь, вызывает svnmailer. Конфигурация довольно проста, и с их примером конфигурации simple.conf вы можете начать работу через несколько минут. Обратите внимание, что он написан на Python, поэтому это является обязательным условием для установки.

Весь наш скрипт хука пост-фиксации состоит всего из нескольких строк (обратите внимание, что вы можете делать другие вещи в хуке пост-фиксации, но в настоящее время мы этого не делаем):

#!/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
0 голосов
/ 19 июня 2013

Проверьте пакет svn-mod-email , описанный здесь . svn-mod-email - это мощный инструмент для управления почтовыми уведомлениями SVN, который поставляется в виде архива Debian. Его легко установить, настроить и использовать.

...