Подтвердить что ты не робот

Самый простой/лучший способ настроить отправку писем SVN?

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

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

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

4b9b3361

Ответ 1

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

/usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" [email protected]

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

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

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

Ответ 2

Хотя этот вопрос немного устарел, просто подумал, что оставлю свое мнение для тех, кто приезжает сюда из 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 hook script обычным способом:

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

exit 0

Ответ 3

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

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

#!/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

Ответ 4

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