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

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

  •  20-08-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

При создании нового репозитория пример перехвата после фиксации предоставляется в 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 скрипт без каких-либо аргументов вы увидите экран использования с дополнительными опциями, которые позволяют, например, изменить строку темы или адрес From.

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

Другие советы

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

Мы используем 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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top