Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
hgbook.pdf
Скачиваний:
50
Добавлен:
17.03.2015
Размер:
3.15 Mб
Скачать

Обработка событий в репозитории с помощью ловушек

10.6.3. notify — отправка email оповещения

Хотя встроенный веб-сервер Mercurial предоставляет rss каналы изменений в каждом репозитории, многие люди предпочитают получать уведомления об изменениях по электронной почте. Ловушка notify позволяет посылать уведомления множеству адресов электронной почты, когда поступают ревизии, в которых заинтересованы абоненты.

Как и в ловушке bugzilla, ловушка notify управляется с помощью шаблонов, поэтому вы можете настроить содержание уведомлений, которые она посылает.

По умолчанию, ловушка notify включает в себя diff каждой ревизии, которые он посылает. Вы можете ограничить размер diff или отключить эту функцию полностью. Это полезно, позволяя абонентам просматривать изменения немедленно, а не нажатием ссылки в письме.

10.6.3.1. Настройка ловушки notify

Вы можете настроить ловушку notify, чтобы отправлять 1 сообщение электронной почты на 1 входящую ревизию или 1 письмо на группу ревизий (все те, которые прибыли в одном вытягивании или отправке).

[hooks]

#send one email per group of changes changegroup.notify = python:hgext.notify.hook

#send one email per change

incoming.notify = python:hgext.notify.hook

Сведения о конфигурации этой ловушки находятся в секции notify файла ~/.hgrc.

test: По умолчанию эта ловушка не посылает электронную почту всем, вместо этого он выдает сообщение, которое было бы отправлено. Установить этот пункт в false, чтобы выключить отправку электронной почты. Причина того, что отправка электронной почты по умолчанию отключена, в том что нужно несколько попыток, чтобы настроить это расширение именно так, как вы хотите, и было бы дурным тоном спамить абонентов целым набором «неправильных» уведомлений при отладке конфигурации.

config: путь к конфигурационному файлу, который содержит информацию о подписке. Он храниться отдельно от основного ~/.hgrc так что вы можете сохранить его в собственном репозитории. Люди могут затем клонировать репозиторий, и обновлять подписки и отправлять изменения обратно на сервер.

strip: число ведущих символов разделителей пути в строке пути репозитория, которые обрезаются для определения пути к репозиторию абонента. Например, если репозитории на сервере, находятся в /home/hg/ repos, а предупреждаем мы о репозитории с именем /home/hg/repos/shared/test, установка strip в 4 заставит notify обрезать путь до shared/test, и это значение будет сравниваться с подпиской абонентов.

template: текст шаблона который используется при отправке сообщений. Он определяет и содержимое заголовка сообщения и его тело.

maxdiff: Максимальное количество строк diff, которые добавляются к концу сообщения. Если размер diff больше, чем это значение, они будут обрезаны. По умолчанию, 300. Установите в 0, чтобы отправлять полный diff в сообщениях с уведомлением.

sources: список источников ревизий за которыми ведётся наблюдение. Это позволяет ограничить отправку уведомлений, например только на те ревизии, которые удаленные пользователи вставили в этот репозиторий через сервер. Смотрите раздел Раздел 10.7.3.1, «Источники изменений» для того чтоб узнать какие источники вы можете здесь указать.

Если вы установите пункт baseurl в секции web, вы сможете использовать его в шаблоне, он будет доступен как webroot.

Это пример конфигурации ловушки notify.

[notify]

# really send email test = false

121

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]