|
|
notify extension - hook extension to email notifications on commits/pushes
|
|
|
|
|
|
Subscriptions can be managed through hgrc. Default mode is to print
|
|
|
messages to stdout, for testing and configuring.
|
|
|
|
|
|
To use, configure notify extension and enable in hgrc like this:
|
|
|
|
|
|
[extensions]
|
|
|
hgext.notify =
|
|
|
|
|
|
[hooks]
|
|
|
# one email for each incoming changeset
|
|
|
incoming.notify = python:hgext.notify.hook
|
|
|
# batch emails when many changesets incoming at one time
|
|
|
changegroup.notify = python:hgext.notify.hook
|
|
|
|
|
|
[notify]
|
|
|
# config items go in here
|
|
|
|
|
|
config items:
|
|
|
|
|
|
REQUIRED:
|
|
|
config = /path/to/file # file containing subscriptions
|
|
|
|
|
|
OPTIONAL:
|
|
|
test = True # print messages to stdout for testing
|
|
|
strip = 3 # number of slashes to strip for url paths
|
|
|
domain = example.com # domain to use if committer missing domain
|
|
|
style = ... # style file to use when formatting email
|
|
|
template = ... # template to use when formatting email
|
|
|
incoming = ... # template to use when run as incoming hook
|
|
|
changegroup = ... # template when run as changegroup hook
|
|
|
maxdiff = 300 # max lines of diffs to include (0=none, -1=all)
|
|
|
maxsubject = 67 # truncate subject line longer than this
|
|
|
diffstat = True # add a diffstat before the diff content
|
|
|
sources = serve # notify if source of incoming changes in this list
|
|
|
# (serve == ssh or http, push, pull, bundle)
|
|
|
[email]
|
|
|
from = user@host.com # email address to send as if none given
|
|
|
[web]
|
|
|
baseurl = http://hgserver/... # root of hg web site for browsing commits
|
|
|
|
|
|
notify config file has same format as regular hgrc. it has two
|
|
|
sections so you can express subscriptions in whatever way is handier
|
|
|
for you.
|
|
|
|
|
|
[usersubs]
|
|
|
# key is subscriber email, value is ","-separated list of glob patterns
|
|
|
user@host = pattern
|
|
|
|
|
|
[reposubs]
|
|
|
# key is glob pattern, value is ","-separated list of subscriber emails
|
|
|
pattern = user@host
|
|
|
|
|
|
glob patterns are matched against path to repo root.
|
|
|
|
|
|
if you like, you can put notify config file in repo that users can
|
|
|
push changes to, they can manage their own subscriptions.
|
|
|
|
|
|
no commands defined
|
|
|
% commit
|
|
|
adding a
|
|
|
% clone
|
|
|
updating working directory
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
% commit
|
|
|
% pull (minimal config)
|
|
|
pulling from ../a
|
|
|
searching for changes
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 1 changesets with 1 changes to 1 files
|
|
|
Content-Type: text/plain; charset="us-ascii"
|
|
|
MIME-Version: 1.0
|
|
|
Content-Transfer-Encoding: 7bit
|
|
|
Date:
|
|
|
Subject: changeset in test-notify/b: b
|
|
|
From: test
|
|
|
X-Hg-Notification: changeset 0647d048b600
|
|
|
Message-Id:
|
|
|
To: baz, foo@bar
|
|
|
|
|
|
changeset 0647d048b600 in test-notify/b
|
|
|
details: test-notify/b?cmd=changeset;node=0647d048b600
|
|
|
description: b
|
|
|
|
|
|
diffs (6 lines):
|
|
|
|
|
|
diff -r cb9a9f314b8b -r 0647d048b600 a
|
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
|
+++ b/a Thu Jan 01 00:00:01 1970 +0000
|
|
|
@@ -1,1 +1,2 @@
|
|
|
a
|
|
|
+a
|
|
|
(run 'hg update' to get a working copy)
|
|
|
% fail for config file is missing
|
|
|
rolling back last transaction
|
|
|
pull failed
|
|
|
% pull
|
|
|
rolling back last transaction
|
|
|
pulling from ../a
|
|
|
searching for changes
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 1 changesets with 1 changes to 1 files
|
|
|
Content-Type: text/plain; charset="us-ascii"
|
|
|
MIME-Version: 1.0
|
|
|
Content-Transfer-Encoding: 7bit
|
|
|
Date:
|
|
|
Subject: b
|
|
|
From: test@test.com
|
|
|
X-Hg-Notification: changeset 0647d048b600
|
|
|
Message-Id:
|
|
|
To: baz@test.com, foo@bar
|
|
|
|
|
|
changeset 0647d048b600
|
|
|
description:
|
|
|
b
|
|
|
diffs (6 lines):
|
|
|
|
|
|
diff -r cb9a9f314b8b -r 0647d048b600 a
|
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
|
+++ b/a Thu Jan 01 00:00:01 1970 +0000
|
|
|
@@ -1,1 +1,2 @@
|
|
|
a
|
|
|
+a
|
|
|
(run 'hg update' to get a working copy)
|
|
|
% pull
|
|
|
rolling back last transaction
|
|
|
pulling from ../a
|
|
|
searching for changes
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 1 changesets with 1 changes to 1 files
|
|
|
Content-Type: text/plain; charset="us-ascii"
|
|
|
MIME-Version: 1.0
|
|
|
Content-Transfer-Encoding: 7bit
|
|
|
Date:
|
|
|
Subject: b
|
|
|
From: test@test.com
|
|
|
X-Hg-Notification: changeset 0647d048b600
|
|
|
Message-Id:
|
|
|
To: baz@test.com, foo@bar
|
|
|
|
|
|
changeset 0647d048b600
|
|
|
description:
|
|
|
b
|
|
|
diffstat:
|
|
|
|
|
|
files patched: 1
|
|
|
|
|
|
diffs (6 lines):
|
|
|
|
|
|
diff -r cb9a9f314b8b -r 0647d048b600 a
|
|
|
--- a/a Thu Jan 01 00:00:00 1970 +0000
|
|
|
+++ b/a Thu Jan 01 00:00:01 1970 +0000
|
|
|
@@ -1,1 +1,2 @@
|
|
|
a
|
|
|
+a
|
|
|
(run 'hg update' to get a working copy)
|
|
|
|