author | Matt Mackall <mpm@selenic.com> |
Tue, 22 Nov 2011 17:26:32 -0600 | |
branch | stable |
changeset 15551 | 1fa41d1f1351 |
parent 15131 | 7c26ce9edbd2 |
child 15447 | 9910f60a37ee |
permissions | -rw-r--r-- |
3740
aef384dbc731
add test for the notify extension
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
1 |
|
12473 | 2 |
$ cat <<EOF >> $HGRCPATH |
3 |
> [extensions] |
|
4 |
> notify= |
|
5 |
> |
|
6 |
> [hooks] |
|
7 |
> incoming.notify = python:hgext.notify.hook |
|
8 |
> |
|
9 |
> [notify] |
|
10 |
> sources = pull |
|
11 |
> diffstat = False |
|
12 |
> |
|
13 |
> [usersubs] |
|
14 |
> foo@bar = * |
|
15 |
> |
|
16 |
> [reposubs] |
|
17 |
> * = baz |
|
18 |
> EOF |
|
19 |
$ hg help notify |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
20 |
notify extension - hooks for sending email push notifications |
12473 | 21 |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
22 |
This extension let you run hooks sending email notifications when changesets |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
23 |
are being pushed, from the sending or receiving side. |
12473 | 24 |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
25 |
First, enable the extension as explained in "hg help extensions", and register |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
26 |
the hook you want to run. "incoming" and "outgoing" hooks are run by the |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
27 |
changesets receiver while the "outgoing" one is for the sender: |
12473 | 28 |
|
29 |
[hooks] |
|
30 |
# one email for each incoming changeset |
|
31 |
incoming.notify = python:hgext.notify.hook |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
32 |
# one email for all incoming changesets |
12473 | 33 |
changegroup.notify = python:hgext.notify.hook |
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
34 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
35 |
# one email for all outgoing changesets |
14617
23f4e1e40988
notify: send changesets on 'outgoing' hook, updated doc
Ingo Bressler <dev@ingobressler.net>
parents:
14162
diff
changeset
|
36 |
outgoing.notify = python:hgext.notify.hook |
12473 | 37 |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
38 |
Now the hooks are running, subscribers must be assigned to repositories. Use |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
39 |
the "[usersubs]" section to map repositories to a given email or the |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
40 |
"[reposubs]" section to map emails to a single repository: |
12473 | 41 |
|
42 |
[usersubs] |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
43 |
# key is subscriber email, value is a comma-separated list of glob |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
44 |
# patterns |
12473 | 45 |
user@host = pattern |
46 |
||
47 |
[reposubs] |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
48 |
# key is glob pattern, value is a comma-separated list of subscriber |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
49 |
# emails |
12473 | 50 |
pattern = user@host |
51 |
||
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
52 |
Glob patterns are matched against absolute path to repository root. The |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
53 |
subscriptions can be defined in their own file and referenced with: |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
54 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
55 |
[notify] |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
56 |
config = /path/to/subscriptionsfile |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
57 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
58 |
Alternatively, they can be added to Mercurial configuration files by setting |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
59 |
the previous entry to an empty value. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
60 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
61 |
At this point, notifications should be generated but will not be sent until |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
62 |
you set the "notify.test" entry to "False". |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
63 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
64 |
Notifications content can be tweaked with the following configuration entries: |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
65 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
66 |
notify.test |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
67 |
If "True", print messages to stdout instead of sending them. Default: True. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
68 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
69 |
notify.sources |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
70 |
Space separated list of change sources. Notifications are sent only if it |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
71 |
includes the incoming or outgoing changes source. Incoming sources can be |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
72 |
"serve" for changes coming from http or ssh, "pull" for pulled changes, |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
73 |
"unbundle" for changes added by "hg unbundle" or "push" for changes being |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
74 |
pushed locally. Outgoing sources are the same except for "unbundle" which is |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
75 |
replaced by "bundle". Default: serve. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
76 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
77 |
notify.strip |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
78 |
Number of leading slashes to strip from url paths. By default, notifications |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
79 |
references repositories with their absolute path. "notify.strip" let you |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
80 |
turn them into relative paths. For example, "notify.strip=3" will change |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
81 |
"/long/path/repository" into "repository". Default: 0. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
82 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
83 |
notify.domain |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
84 |
If subscribers emails or the from email have no domain set, complete them |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
85 |
with this value. |
12473 | 86 |
|
14940
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
87 |
notify.style |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
88 |
Style file to use when formatting emails. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
89 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
90 |
notify.template |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
91 |
Template to use when formatting emails. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
92 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
93 |
notify.incoming |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
94 |
Template to use when run as incoming hook, override "notify.template". |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
95 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
96 |
notify.outgoing |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
97 |
Template to use when run as outgoing hook, override "notify.template". |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
98 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
99 |
notify.changegroup |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
100 |
Template to use when running as changegroup hook, override |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
101 |
"notify.template". |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
102 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
103 |
notify.maxdiff |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
104 |
Maximum number of diff lines to include in notification email. Set to 0 to |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
105 |
disable the diff, -1 to include all of it. Default: 300. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
106 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
107 |
notify.maxsubject |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
108 |
Maximum number of characters in emails subject line. Default: 67. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
109 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
110 |
notify.diffstat |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
111 |
Set to True to include a diffstat before diff content. Default: True. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
112 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
113 |
notify.merge |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
114 |
If True, send notifications for merge changesets. Default: True. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
115 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
116 |
If set, the following entries will also be used to customize the |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
117 |
notifications: |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
118 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
119 |
email.from |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
120 |
Email "From" address to use if none can be found in generated email content. |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
121 |
|
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
122 |
web.baseurl |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
123 |
Root repository browsing URL to combine with repository paths when making |
d78b92353f26
notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents:
14617
diff
changeset
|
124 |
references. See also "notify.strip". |
12473 | 125 |
|
126 |
no commands defined |
|
127 |
$ hg init a |
|
128 |
$ echo a > a/a |
|
3740
aef384dbc731
add test for the notify extension
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
129 |
|
12473 | 130 |
commit |
131 |
||
132 |
$ hg --cwd a commit -Ama -d '0 0' |
|
133 |
adding a |
|
134 |
||
135 |
||
136 |
clone |
|
137 |
||
138 |
$ hg --traceback clone a b |
|
139 |
updating to branch default |
|
140 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
141 |
$ echo a >> a/a |
|
142 |
||
143 |
commit |
|
144 |
||
145 |
$ hg --traceback --cwd a commit -Amb -d '1 0' |
|
146 |
||
147 |
on Mac OS X 10.5 the tmp path is very long so would get stripped in the subject line |
|
148 |
||
149 |
$ cat <<EOF >> $HGRCPATH |
|
150 |
> [notify] |
|
151 |
> maxsubject = 200 |
|
152 |
> EOF |
|
153 |
||
154 |
the python call below wraps continuation lines, which appear on Mac OS X 10.5 because |
|
155 |
of the very long subject line |
|
156 |
pull (minimal config) |
|
6359
25e74cd3f023
test-notify: make it pass on Mac OS X 10.5
Florent Guillaume <fg@nuxeo.com>
parents:
4517
diff
changeset
|
157 |
|
12473 | 158 |
$ hg --traceback --cwd b pull ../a | \ |
12646
624859bf4314
test-notify: fix fix for line continuation in long mail header lines
Mads Kiilerich <mads@kiilerich.com>
parents:
12644
diff
changeset
|
159 |
> python -c 'import sys,re; print re.sub("\n[\t ]", " ", sys.stdin.read()),' |
12473 | 160 |
pulling from ../a |
161 |
searching for changes |
|
162 |
adding changesets |
|
163 |
adding manifests |
|
164 |
adding file changes |
|
165 |
added 1 changesets with 1 changes to 1 files |
|
166 |
Content-Type: text/plain; charset="us-ascii" |
|
167 |
MIME-Version: 1.0 |
|
168 |
Content-Transfer-Encoding: 7bit |
|
169 |
Date: * (glob) |
|
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12473
diff
changeset
|
170 |
Subject: changeset in $TESTTMP/b: b |
12473 | 171 |
From: test |
172 |
X-Hg-Notification: changeset 0647d048b600 |
|
173 |
Message-Id: <*> (glob) |
|
174 |
To: baz, foo@bar |
|
175 |
||
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12473
diff
changeset
|
176 |
changeset 0647d048b600 in $TESTTMP/b |
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12473
diff
changeset
|
177 |
details: $TESTTMP/b?cmd=changeset;node=0647d048b600 |
12473 | 178 |
description: b |
179 |
||
180 |
diffs (6 lines): |
|
181 |
||
182 |
diff -r cb9a9f314b8b -r 0647d048b600 a |
|
183 |
--- a/a Thu Jan 01 00:00:00 1970 +0000 |
|
184 |
+++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
12646
624859bf4314
test-notify: fix fix for line continuation in long mail header lines
Mads Kiilerich <mads@kiilerich.com>
parents:
12644
diff
changeset
|
185 |
@@ -1,1 +1,2 @@ a |
12473 | 186 |
+a |
187 |
(run 'hg update' to get a working copy) |
|
188 |
$ cat <<EOF >> $HGRCPATH |
|
189 |
> [notify] |
|
12642
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12640
diff
changeset
|
190 |
> config = `pwd`/.notify.conf |
12473 | 191 |
> domain = test.com |
12644
0490d2223882
test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents:
12642
diff
changeset
|
192 |
> strip = 42 |
12473 | 193 |
> template = Subject: {desc|firstline|strip}\nFrom: {author}\nX-Test: foo\n\nchangeset {node|short} in {webroot}\ndescription:\n\t{desc|tabindent|strip} |
194 |
> |
|
195 |
> [web] |
|
196 |
> baseurl = http://test/ |
|
197 |
> EOF |
|
4094
fbf0e9acfd83
notify: don't try to fix addresses if notify.domain is not set
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4009
diff
changeset
|
198 |
|
12473 | 199 |
fail for config file is missing |
4094
fbf0e9acfd83
notify: don't try to fix addresses if notify.domain is not set
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4009
diff
changeset
|
200 |
|
12473 | 201 |
$ hg --cwd b rollback |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13225
diff
changeset
|
202 |
repository tip rolled back to revision 0 (undo pull) |
12473 | 203 |
$ hg --cwd b pull ../a 2>&1 | grep 'error.*\.notify\.conf' > /dev/null && echo pull failed |
204 |
pull failed |
|
12642
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12640
diff
changeset
|
205 |
$ touch ".notify.conf" |
12473 | 206 |
|
207 |
pull |
|
4094
fbf0e9acfd83
notify: don't try to fix addresses if notify.domain is not set
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4009
diff
changeset
|
208 |
|
12473 | 209 |
$ hg --cwd b rollback |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13225
diff
changeset
|
210 |
repository tip rolled back to revision 0 (undo pull) |
12473 | 211 |
$ hg --traceback --cwd b pull ../a | \ |
212 |
> python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
|
213 |
pulling from ../a |
|
214 |
searching for changes |
|
215 |
adding changesets |
|
216 |
adding manifests |
|
217 |
adding file changes |
|
218 |
added 1 changesets with 1 changes to 1 files |
|
219 |
Content-Type: text/plain; charset="us-ascii" |
|
220 |
MIME-Version: 1.0 |
|
221 |
Content-Transfer-Encoding: 7bit |
|
222 |
X-Test: foo |
|
223 |
Date: * (glob) |
|
224 |
Subject: b |
|
225 |
From: test@test.com |
|
226 |
X-Hg-Notification: changeset 0647d048b600 |
|
227 |
Message-Id: <*> (glob) |
|
228 |
To: baz@test.com, foo@bar |
|
229 |
||
12644
0490d2223882
test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents:
12642
diff
changeset
|
230 |
changeset 0647d048b600 in b |
12473 | 231 |
description: b |
232 |
diffs (6 lines): |
|
233 |
||
234 |
diff -r cb9a9f314b8b -r 0647d048b600 a |
|
235 |
--- a/a Thu Jan 01 00:00:00 1970 +0000 |
|
236 |
+++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
237 |
@@ -1,1 +1,2 @@ |
|
238 |
a |
|
239 |
+a |
|
240 |
(run 'hg update' to get a working copy) |
|
4517
5371a213b0f4
ui: make readsections() abort when configuration cannot be read.
Patrick Mezard <pmezard@gmail.com>
parents:
4479
diff
changeset
|
241 |
|
12473 | 242 |
$ cat << EOF >> $HGRCPATH |
243 |
> [hooks] |
|
244 |
> incoming.notify = python:hgext.notify.hook |
|
245 |
> |
|
246 |
> [notify] |
|
247 |
> sources = pull |
|
248 |
> diffstat = True |
|
249 |
> EOF |
|
250 |
||
251 |
pull |
|
4094
fbf0e9acfd83
notify: don't try to fix addresses if notify.domain is not set
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4009
diff
changeset
|
252 |
|
12473 | 253 |
$ hg --cwd b rollback |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13225
diff
changeset
|
254 |
repository tip rolled back to revision 0 (undo pull) |
12473 | 255 |
$ hg --traceback --cwd b pull ../a | \ |
256 |
> python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
|
257 |
pulling from ../a |
|
258 |
searching for changes |
|
259 |
adding changesets |
|
260 |
adding manifests |
|
261 |
adding file changes |
|
262 |
added 1 changesets with 1 changes to 1 files |
|
263 |
Content-Type: text/plain; charset="us-ascii" |
|
264 |
MIME-Version: 1.0 |
|
265 |
Content-Transfer-Encoding: 7bit |
|
266 |
X-Test: foo |
|
267 |
Date: * (glob) |
|
268 |
Subject: b |
|
269 |
From: test@test.com |
|
270 |
X-Hg-Notification: changeset 0647d048b600 |
|
271 |
Message-Id: <*> (glob) |
|
272 |
To: baz@test.com, foo@bar |
|
273 |
||
12644
0490d2223882
test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents:
12642
diff
changeset
|
274 |
changeset 0647d048b600 in b |
12473 | 275 |
description: b |
276 |
diffstat: |
|
277 |
||
278 |
a | 1 + |
|
279 |
1 files changed, 1 insertions(+), 0 deletions(-) |
|
280 |
||
281 |
diffs (6 lines): |
|
282 |
||
283 |
diff -r cb9a9f314b8b -r 0647d048b600 a |
|
284 |
--- a/a Thu Jan 01 00:00:00 1970 +0000 |
|
285 |
+++ b/a Thu Jan 01 00:00:01 1970 +0000 |
|
286 |
@@ -1,1 +1,2 @@ |
|
287 |
a |
|
288 |
+a |
|
289 |
(run 'hg update' to get a working copy) |
|
7105
31837416ef4d
tests: add some testing for patch.diffstat()
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6359
diff
changeset
|
290 |
|
12473 | 291 |
test merge |
7105
31837416ef4d
tests: add some testing for patch.diffstat()
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6359
diff
changeset
|
292 |
|
12473 | 293 |
$ cd a |
294 |
$ hg up -C 0 |
|
295 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
296 |
$ echo a >> a |
|
297 |
$ hg ci -Am adda2 -d '2 0' |
|
298 |
created new head |
|
299 |
$ hg merge |
|
300 |
0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
301 |
(branch merge, don't forget to commit) |
|
302 |
$ hg ci -m merge -d '3 0' |
|
303 |
$ cd .. |
|
304 |
$ hg --traceback --cwd b pull ../a | \ |
|
305 |
> python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
|
306 |
pulling from ../a |
|
307 |
searching for changes |
|
308 |
adding changesets |
|
309 |
adding manifests |
|
310 |
adding file changes |
|
311 |
added 2 changesets with 0 changes to 0 files |
|
312 |
Content-Type: text/plain; charset="us-ascii" |
|
313 |
MIME-Version: 1.0 |
|
314 |
Content-Transfer-Encoding: 7bit |
|
315 |
X-Test: foo |
|
316 |
Date: * (glob) |
|
317 |
Subject: adda2 |
|
318 |
From: test@test.com |
|
319 |
X-Hg-Notification: changeset 0a184ce6067f |
|
320 |
Message-Id: <*> (glob) |
|
321 |
To: baz@test.com, foo@bar |
|
322 |
||
12644
0490d2223882
test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents:
12642
diff
changeset
|
323 |
changeset 0a184ce6067f in b |
12473 | 324 |
description: adda2 |
325 |
diffstat: |
|
326 |
||
327 |
a | 1 + |
|
328 |
1 files changed, 1 insertions(+), 0 deletions(-) |
|
329 |
||
330 |
diffs (6 lines): |
|
331 |
||
332 |
diff -r cb9a9f314b8b -r 0a184ce6067f a |
|
333 |
--- a/a Thu Jan 01 00:00:00 1970 +0000 |
|
334 |
+++ b/a Thu Jan 01 00:00:02 1970 +0000 |
|
335 |
@@ -1,1 +1,2 @@ |
|
336 |
a |
|
337 |
+a |
|
338 |
Content-Type: text/plain; charset="us-ascii" |
|
339 |
MIME-Version: 1.0 |
|
340 |
Content-Transfer-Encoding: 7bit |
|
341 |
X-Test: foo |
|
342 |
Date: * (glob) |
|
343 |
Subject: merge |
|
344 |
From: test@test.com |
|
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13446
diff
changeset
|
345 |
X-Hg-Notification: changeset 6a0cf76b2701 |
12473 | 346 |
Message-Id: <*> (glob) |
347 |
To: baz@test.com, foo@bar |
|
348 |
||
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13446
diff
changeset
|
349 |
changeset 6a0cf76b2701 in b |
12473 | 350 |
description: merge |
351 |
(run 'hg update' to get a working copy) |
|
13225
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
352 |
|
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
353 |
truncate multi-byte subject |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
354 |
|
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
355 |
$ cat <<EOF >> $HGRCPATH |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
356 |
> [notify] |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
357 |
> maxsubject = 4 |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
358 |
> EOF |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
359 |
$ echo a >> a/a |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
360 |
$ hg --cwd a --encoding utf-8 commit -A -d '0 0' \ |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
361 |
> -m `python -c 'print "\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4"'` |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
362 |
$ hg --traceback --cwd b --encoding utf-8 pull ../a | \ |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
363 |
> python -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
364 |
pulling from ../a |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
365 |
searching for changes |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
366 |
adding changesets |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
367 |
adding manifests |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
368 |
adding file changes |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
369 |
added 1 changesets with 1 changes to 1 files |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
370 |
Content-Type: text/plain; charset="us-ascii" |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
371 |
MIME-Version: 1.0 |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
372 |
Content-Transfer-Encoding: 8bit |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
373 |
X-Test: foo |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
374 |
Date: * (glob) |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
375 |
Subject: \xc3\xa0... (esc) |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
376 |
From: test@test.com |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13446
diff
changeset
|
377 |
X-Hg-Notification: changeset 7ea05ad269dc |
13225
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
378 |
Message-Id: <*> (glob) |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
379 |
To: baz@test.com, foo@bar |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
380 |
|
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13446
diff
changeset
|
381 |
changeset 7ea05ad269dc in b |
13225
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
382 |
description: \xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4 (esc) |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
383 |
diffstat: |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
384 |
|
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
385 |
a | 1 + |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
386 |
1 files changed, 1 insertions(+), 0 deletions(-) |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
387 |
|
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
388 |
diffs (7 lines): |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
389 |
|
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
13446
diff
changeset
|
390 |
diff -r 6a0cf76b2701 -r 7ea05ad269dc a |
13225
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
391 |
--- a/a Thu Jan 01 00:00:03 1970 +0000 |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
392 |
+++ b/a Thu Jan 01 00:00:00 1970 +0000 |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
393 |
@@ -1,2 +1,3 @@ |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
394 |
a |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
395 |
a |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
396 |
+a |
e3bf16703e26
util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents:
12646
diff
changeset
|
397 |
(run 'hg update' to get a working copy) |