annotate tests/test-notify.t @ 30155:b7a966ce89ed

changelog: disable delta chains This patch disables delta chains on changelogs. After this patch, new entries on changelogs - including existing changelogs - will be stored as the fulltext of that data (likely compressed). No delta computation will be performed. An overview of delta chains and data justifying this change follows. Revlogs try to store entries as a delta against a previous entry (either a parent revision in the case of generaldelta or the previous physical revision when not using generaldelta). Most of the time this is the correct thing to do: it frequently results in less CPU usage and smaller storage. Delta chains are most effective when the base revision being deltad against is similar to the current data. This tends to occur naturally for manifests and file data, since only small parts of each tend to change with each revision. Changelogs, however, are a different story. Changelog entries represent changesets/commits. And unless commits in a repository are homogonous (same author, changing same files, similar commit messages, etc), a delta from one entry to the next tends to be relatively large compared to the size of the entry. This means that delta chains tend to be short. How short? Here is the full vs delta revision breakdown on some real world repos: Repo % Full % Delta Max Length hg 45.8 54.2 6 mozilla-central 42.4 57.6 8 mozilla-unified 42.5 57.5 17 pypy 46.1 53.9 6 python-zstandard 46.1 53.9 3 (I threw in python-zstandard as an example of a repo that is homogonous. It contains a small Python project with changes all from the same author.) Contrast this with the manifest revlog for these repos, where 99+% of revisions are deltas and delta chains run into the thousands. So delta chains aren't as useful on changelogs. But even a short delta chain may provide benefits. Let's measure that. Delta chains may require less CPU to read revisions if the CPU time spent reading smaller deltas is less than the CPU time used to decompress larger individual entries. We can measure this via `hg perfrevlog -c -d 1` to iterate a revlog to resolve each revision's fulltext. Here are the results of that command on a repo using delta chains in its changelog and on a repo without delta chains: hg (forward) ! wall 0.407008 comb 0.410000 user 0.410000 sys 0.000000 (best of 25) ! wall 0.390061 comb 0.390000 user 0.390000 sys 0.000000 (best of 26) hg (reverse) ! wall 0.515221 comb 0.520000 user 0.520000 sys 0.000000 (best of 19) ! wall 0.400018 comb 0.400000 user 0.390000 sys 0.010000 (best of 25) mozilla-central (forward) ! wall 4.508296 comb 4.490000 user 4.490000 sys 0.000000 (best of 3) ! wall 4.370222 comb 4.370000 user 4.350000 sys 0.020000 (best of 3) mozilla-central (reverse) ! wall 5.758995 comb 5.760000 user 5.720000 sys 0.040000 (best of 3) ! wall 4.346503 comb 4.340000 user 4.320000 sys 0.020000 (best of 3) mozilla-unified (forward) ! wall 4.957088 comb 4.950000 user 4.940000 sys 0.010000 (best of 3) ! wall 4.660528 comb 4.650000 user 4.630000 sys 0.020000 (best of 3) mozilla-unified (reverse) ! wall 6.119827 comb 6.110000 user 6.090000 sys 0.020000 (best of 3) ! wall 4.675136 comb 4.670000 user 4.670000 sys 0.000000 (best of 3) pypy (forward) ! wall 1.231122 comb 1.240000 user 1.230000 sys 0.010000 (best of 8) ! wall 1.164896 comb 1.160000 user 1.160000 sys 0.000000 (best of 9) pypy (reverse) ! wall 1.467049 comb 1.460000 user 1.460000 sys 0.000000 (best of 7) ! wall 1.160200 comb 1.170000 user 1.160000 sys 0.010000 (best of 9) The data clearly shows that it takes less wall and CPU time to resolve revisions when there are no delta chains in the changelogs, regardless of the direction of traversal. Furthermore, not using a delta chain means that fulltext resolution in reverse is as fast as iterating forward. So not using delta chains on the changelog is a clear CPU win for reading operations. An example of a user-visible operation showing this speed-up is revset evaluation. Here are results for `hg perfrevset 'author(gps) or author(mpm)'`: hg ! wall 1.655506 comb 1.660000 user 1.650000 sys 0.010000 (best of 6) ! wall 1.612723 comb 1.610000 user 1.600000 sys 0.010000 (best of 7) mozilla-central ! wall 17.629826 comb 17.640000 user 17.600000 sys 0.040000 (best of 3) ! wall 17.311033 comb 17.300000 user 17.260000 sys 0.040000 (best of 3) What about 00changelog.i size? Repo Delta Chains No Delta Chains hg 7,033,250 6,976,771 mozilla-central 82,978,748 81,574,623 mozilla-unified 88,112,349 86,702,162 pypy 20,740,699 20,659,741 The data shows that removing delta chains from the changelog makes the changelog smaller. Delta chains are also used during changegroup generation. This operation essentially converts a series of revisions to one large delta chain. And changegroup generation is smart: if the delta in the revlog matches what the changegroup is emitting, it will reuse the delta instead of recalculating it. We can measure the impact removing changelog delta chains has on changegroup generation via `hg perfchangegroupchangelog`: hg ! wall 1.589245 comb 1.590000 user 1.590000 sys 0.000000 (best of 7) ! wall 1.788060 comb 1.790000 user 1.790000 sys 0.000000 (best of 6) mozilla-central ! wall 17.382585 comb 17.380000 user 17.340000 sys 0.040000 (best of 3) ! wall 20.161357 comb 20.160000 user 20.120000 sys 0.040000 (best of 3) mozilla-unified ! wall 18.722839 comb 18.720000 user 18.680000 sys 0.040000 (best of 3) ! wall 21.168075 comb 21.170000 user 21.130000 sys 0.040000 (best of 3) pypy ! wall 4.828317 comb 4.830000 user 4.820000 sys 0.010000 (best of 3) ! wall 5.415455 comb 5.420000 user 5.410000 sys 0.010000 (best of 3) The data shows eliminating delta chains makes the changelog part of changegroup generation slower. This is expected since we now have to compute deltas for revisions where we could recycle the delta before. It is worth putting this regression into context of overall changegroup times. Here is the rough total CPU time spent in changegroup generation for various repos while using delta chains on the changelog: Repo CPU Time (s) CPU Time w/ compression hg 4.50 7.05 mozilla-central 111.1 222.0 pypy 28.68 75.5 Before compression, removing delta chains from the changegroup adds ~4.4% overhead to hg changegroup generation, 1.3% to mozilla-central, and 2.0% to pypy. When you factor in zlib compression, these percentages are roughly divided by 2. While the increased CPU usage for changegroup generation is unfortunate, I think it is acceptable because the percentage is small, server operators (those likely impacted most by this) have other mechanisms to mitigate CPU consumption (namely reducing zlib compression level and pre-generated clone bundles), and because there is room to optimize this in the future. For example, we could use the nullid as the base revision, effectively encoding the full revision for each entry in the changegroup. When doing this, `hg perfchangegroupchangelog` nearly halves: mozilla-unified ! wall 21.168075 comb 21.170000 user 21.130000 sys 0.040000 (best of 3) ! wall 11.196461 comb 11.200000 user 11.190000 sys 0.010000 (best of 3) This looks very promising as a future optimization opportunity. It's worth that the changes in test-acl.t to the changegroup part size. This is because revision 6 in the changegroup had a delta chain of length 2 before and after this patch the base revision is nullrev. When the base revision is nullrev, cg2packer.deltaparent() hardcodes the *previous* revision from the changegroup as the delta parent. This caused the delta in the changegroup to switch base revisions, the delta to change, and the size to change accordingly. While the size increased in this case, I think sizes will remain the same on average, as the delta base for changelog revisions doesn't matter too much (as this patch shows). So, I don't consider this a regression.
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 13 Oct 2016 12:50:27 +0200
parents 22c53b3a390d
children fa9f7b5d4397
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3740
aef384dbc731 add test for the notify extension
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
1
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
2 $ cat <<EOF >> $HGRCPATH
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
3 > [extensions]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
4 > notify=
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
5 >
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
6 > [hooks]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
7 > incoming.notify = python:hgext.notify.hook
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
8 >
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
9 > [notify]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
10 > sources = pull
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
11 > diffstat = False
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
12 >
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
13 > [usersubs]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
14 > foo@bar = *
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
15 >
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
16 > [reposubs]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
17 > * = baz
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
18 > EOF
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
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
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
21
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
22 This extension implements hooks to send email notifications when changesets
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
23 are sent from or received by the local repository.
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
24
27729
58f8b29c37ff minirst: change hgrole to use single quotes
timeless <timeless@mozdev.org>
parents: 22947
diff changeset
25 First, enable the extension as explained in 'hg help extensions', and register
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
26 the hook you want to run. "incoming" and "changegroup" hooks are run when
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
27 changesets are received, while "outgoing" hooks are for changesets sent to
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
28 another repository:
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
29
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
30 [hooks]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
31 # one email for each incoming changeset
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
32 incoming.notify = python:hgext.notify.hook
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
33 # one email for all incoming changesets
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
34 changegroup.notify = python:hgext.notify.hook
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
35
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
36 # 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
37 outgoing.notify = python:hgext.notify.hook
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
38
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
39 This registers the hooks. To enable notification, subscribers must be assigned
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
40 to repositories. The "[usersubs]" section maps multiple repositories to a
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
41 given recipient. The "[reposubs]" section maps multiple recipients to a single
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
42 repository:
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
43
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
44 [usersubs]
17754
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
45 # key is subscriber email, value is a comma-separated list of repo patterns
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
46 user@host = pattern
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
47
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
48 [reposubs]
17754
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
49 # key is repo pattern, value is a comma-separated list of subscriber emails
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
50 pattern = user@host
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
51
17754
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
52 A "pattern" is a "glob" matching the absolute path to a repository, optionally
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
53 combined with a revset expression. A revset expression, if present, is
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
54 separated from the glob by a hash. Example:
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
55
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
56 [reposubs]
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
57 */widgets#branch(release) = qa-team@example.com
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
58
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
59 This sends to "qa-team@example.com" whenever a changeset on the "release"
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
60 branch triggers a notification in any repository ending in "widgets".
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
61
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
62 In order to place them under direct user management, "[usersubs]" and
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
63 "[reposubs]" sections may be placed in a separate "hgrc" file and incorporated
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
64 by reference:
14940
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]
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
67 config = /path/to/subscriptionsfile
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
68
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
69 Notifications will not be sent until the "notify.test" value is set to
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
70 "False"; see below.
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
71
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
72 Notifications content can be tweaked with the following configuration entries:
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
73
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
74 notify.test
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
75 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
76
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
77 notify.sources
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
78 Space-separated list of change sources. Notifications are activated only
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
79 when a changeset's source is in this list. Sources may be:
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
80
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
81 "serve" changesets received via http or ssh
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
82 "pull" changesets received via "hg pull"
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
83 "unbundle" changesets received via "hg unbundle"
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
84 "push" changesets sent or received via "hg push"
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
85 "bundle" changesets sent via "hg unbundle"
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
86
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
87 Default: serve.
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
88
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
89 notify.strip
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
90 Number of leading slashes to strip from url paths. By default, notifications
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
91 reference repositories with their absolute path. "notify.strip" lets you
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
92 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
93 "/long/path/repository" into "repository". Default: 0.
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
94
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
95 notify.domain
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
96 Default email domain for sender or recipients with no explicit domain.
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
97
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
98 notify.style
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
99 Style file to use when formatting emails.
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
100
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 Template to use when formatting emails.
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
103
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
104 notify.incoming
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
105 Template to use when run as an incoming hook, overriding "notify.template".
14940
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.outgoing
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
108 Template to use when run as an outgoing hook, overriding "notify.template".
14940
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.changegroup
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
111 Template to use when running as a changegroup hook, overriding
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
112 "notify.template".
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
113
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
114 notify.maxdiff
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
115 Maximum number of diff lines to include in notification email. Set to 0 to
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
116 disable the diff, or -1 to include all of it. Default: 300.
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
117
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
118 notify.maxsubject
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
119 Maximum number of characters in email's subject line. Default: 67.
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
120
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
121 notify.diffstat
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
122 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
123
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
124 notify.merge
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
125 If True, send notifications for merge changesets. Default: True.
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
126
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
127 notify.mbox
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
128 If set, append mails to this mbox file instead of sending. Default: None.
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
129
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15562
diff changeset
130 notify.fromauthor
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
131 If set, use the committer of the first changeset in a changegroup for the
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
132 "From" field of the notification mail. If not set, take the user from the
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
133 pushing repo. Default: False.
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15562
diff changeset
134
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
135 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
136 notifications:
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
137
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
138 email.from
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
139 Email "From" address to use if none can be found in the generated email
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
140 content.
14940
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
141
d78b92353f26 notify: rewrite user documentation
Patrick Mezard <pmezard@gmail.com>
parents: 14617
diff changeset
142 web.baseurl
16950
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
143 Root repository URL to combine with repository paths when making references.
0fdd8193c8b5 notify: various fixes to docstring
David Champion <dgc@uchicago.edu>
parents: 16500
diff changeset
144 See also "notify.strip".
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
145
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
146 no commands defined
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
147 $ hg init a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
148 $ echo a > a/a
3740
aef384dbc731 add test for the notify extension
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
149
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
150 commit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
151
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
152 $ hg --cwd a commit -Ama -d '0 0'
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
153 adding a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
154
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
155
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
156 clone
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
157
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
158 $ hg --traceback clone a b
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
159 updating to branch default
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
160 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
161 $ echo a >> a/a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
162
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
163 commit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
164
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
165 $ hg --traceback --cwd a commit -Amb -d '1 0'
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
166
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
167 on Mac OS X 10.5 the tmp path is very long so would get stripped in the subject line
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
168
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
169 $ cat <<EOF >> $HGRCPATH
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
170 > [notify]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
171 > maxsubject = 200
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
172 > EOF
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
173
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
174 the python call below wraps continuation lines, which appear on Mac OS X 10.5 because
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
175 of the very long subject line
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
176 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
177
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
178 $ hg --traceback --cwd b pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
179 > $PYTHON -c 'import sys,re; print re.sub("\n[\t ]", " ", sys.stdin.read()),'
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
180 pulling from ../a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
181 searching for changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
182 adding changesets
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
183 adding manifests
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
184 adding file changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
185 added 1 changesets with 1 changes to 1 files
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
186 Content-Type: text/plain; charset="us-ascii"
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
187 MIME-Version: 1.0
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
188 Content-Transfer-Encoding: 7bit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
189 Date: * (glob)
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12473
diff changeset
190 Subject: changeset in $TESTTMP/b: b
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
191 From: test
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
192 X-Hg-Notification: changeset 0647d048b600
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
193 Message-Id: <*> (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
194 To: baz, foo@bar
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
195
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15131
diff changeset
196 changeset 0647d048b600 in $TESTTMP/b (glob)
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12473
diff changeset
197 details: $TESTTMP/b?cmd=changeset;node=0647d048b600
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
198 description: b
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
199
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
200 diffs (6 lines):
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
201
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
202 diff -r cb9a9f314b8b -r 0647d048b600 a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
203 --- a/a Thu Jan 01 00:00:00 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
204 +++ 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
205 @@ -1,1 +1,2 @@ a
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
206 +a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
207 (run 'hg update' to get a working copy)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
208 $ cat <<EOF >> $HGRCPATH
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
209 > [notify]
12642
bb35840e965c tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
210 > config = `pwd`/.notify.conf
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
211 > domain = test.com
12644
0490d2223882 test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents: 12642
diff changeset
212 > strip = 42
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
213 > template = Subject: {desc|firstline|strip}\nFrom: {author}\nX-Test: foo\n\nchangeset {node|short} in {webroot}\ndescription:\n\t{desc|tabindent|strip}
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
214 >
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
215 > [web]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
216 > baseurl = http://test/
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
217 > 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
218
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
219 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
220
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
221 $ 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
222 repository tip rolled back to revision 0 (undo pull)
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
223 $ hg --cwd b pull ../a 2>&1 | grep 'error.*\.notify\.conf' > /dev/null && echo pull failed
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
224 pull failed
12642
bb35840e965c tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
225 $ touch ".notify.conf"
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
226
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
227 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
228
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
229 $ 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
230 repository tip rolled back to revision 0 (undo pull)
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
231 $ hg --traceback --cwd b pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
232 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
233 pulling from ../a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
234 searching for changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
235 adding changesets
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
236 adding manifests
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
237 adding file changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
238 added 1 changesets with 1 changes to 1 files
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
239 Content-Type: text/plain; charset="us-ascii"
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
240 MIME-Version: 1.0
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
241 Content-Transfer-Encoding: 7bit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
242 X-Test: foo
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
243 Date: * (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
244 Subject: b
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
245 From: test@test.com
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
246 X-Hg-Notification: changeset 0647d048b600
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
247 Message-Id: <*> (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
248 To: baz@test.com, foo@bar
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
249
12644
0490d2223882 test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents: 12642
diff changeset
250 changeset 0647d048b600 in b
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
251 description: b
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
252 diffs (6 lines):
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
253
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
254 diff -r cb9a9f314b8b -r 0647d048b600 a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
255 --- a/a Thu Jan 01 00:00:00 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
256 +++ b/a Thu Jan 01 00:00:01 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
257 @@ -1,1 +1,2 @@
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
258 a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
259 +a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
260 (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
261
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
262 $ cat << EOF >> $HGRCPATH
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
263 > [hooks]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
264 > incoming.notify = python:hgext.notify.hook
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
265 >
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
266 > [notify]
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
267 > sources = pull
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
268 > diffstat = True
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
269 > EOF
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
270
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
271 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
272
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
273 $ 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
274 repository tip rolled back to revision 0 (undo pull)
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
275 $ hg --traceback --cwd b pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
276 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
277 pulling from ../a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
278 searching for changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
279 adding changesets
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
280 adding manifests
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
281 adding file changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
282 added 1 changesets with 1 changes to 1 files
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
283 Content-Type: text/plain; charset="us-ascii"
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
284 MIME-Version: 1.0
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
285 Content-Transfer-Encoding: 7bit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
286 X-Test: foo
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
287 Date: * (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
288 Subject: b
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
289 From: test@test.com
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
290 X-Hg-Notification: changeset 0647d048b600
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
291 Message-Id: <*> (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
292 To: baz@test.com, foo@bar
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
293
12644
0490d2223882 test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents: 12642
diff changeset
294 changeset 0647d048b600 in b
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
295 description: b
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
296 diffstat:
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
297
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
298 a | 1 +
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
299 1 files changed, 1 insertions(+), 0 deletions(-)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
300
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
301 diffs (6 lines):
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
302
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
303 diff -r cb9a9f314b8b -r 0647d048b600 a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
304 --- a/a Thu Jan 01 00:00:00 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
305 +++ b/a Thu Jan 01 00:00:01 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
306 @@ -1,1 +1,2 @@
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
307 a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
308 +a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
309 (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
310
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
311 test merge
7105
31837416ef4d tests: add some testing for patch.diffstat()
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6359
diff changeset
312
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
313 $ cd a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
314 $ hg up -C 0
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
315 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
316 $ echo a >> a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
317 $ hg ci -Am adda2 -d '2 0'
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
318 created new head
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
319 $ hg merge
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
320 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
321 (branch merge, don't forget to commit)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
322 $ hg ci -m merge -d '3 0'
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
323 $ cd ..
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
324 $ hg --traceback --cwd b pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
325 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
326 pulling from ../a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
327 searching for changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
328 adding changesets
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
329 adding manifests
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
330 adding file changes
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
331 added 2 changesets with 0 changes to 0 files
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
332 Content-Type: text/plain; charset="us-ascii"
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
333 MIME-Version: 1.0
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
334 Content-Transfer-Encoding: 7bit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
335 X-Test: foo
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
336 Date: * (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
337 Subject: adda2
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
338 From: test@test.com
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
339 X-Hg-Notification: changeset 0a184ce6067f
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
340 Message-Id: <*> (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
341 To: baz@test.com, foo@bar
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
342
12644
0490d2223882 test-notify: stabilize output
Mads Kiilerich <mads@kiilerich.com>
parents: 12642
diff changeset
343 changeset 0a184ce6067f in b
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
344 description: adda2
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
345 diffstat:
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
346
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
347 a | 1 +
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
348 1 files changed, 1 insertions(+), 0 deletions(-)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
349
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
350 diffs (6 lines):
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
351
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
352 diff -r cb9a9f314b8b -r 0a184ce6067f a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
353 --- a/a Thu Jan 01 00:00:00 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
354 +++ b/a Thu Jan 01 00:00:02 1970 +0000
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
355 @@ -1,1 +1,2 @@
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
356 a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
357 +a
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
358 Content-Type: text/plain; charset="us-ascii"
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
359 MIME-Version: 1.0
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
360 Content-Transfer-Encoding: 7bit
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
361 X-Test: foo
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
362 Date: * (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
363 Subject: merge
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
364 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
365 X-Hg-Notification: changeset 6a0cf76b2701
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
366 Message-Id: <*> (glob)
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
367 To: baz@test.com, foo@bar
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
368
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13446
diff changeset
369 changeset 6a0cf76b2701 in b
12473
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
370 description: merge
52aac5c5c2a6 tests: unify test-notify
Matt Mackall <mpm@selenic.com>
parents: 11889
diff changeset
371 (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
372
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
373 non-ascii content and truncation of multi-byte subject
13225
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
374
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
375 $ cat <<EOF >> $HGRCPATH
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
376 > [notify]
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
377 > maxsubject = 4
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
378 > EOF
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
379 $ echo a >> a/a
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
380 $ hg --cwd a --encoding utf-8 commit -A -d '0 0' \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
381 > -m `$PYTHON -c 'print "\xc3\xa0\xc3\xa1\xc3\xa2\xc3\xa3\xc3\xa4"'`
13225
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
382 $ hg --traceback --cwd b --encoding utf-8 pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
383 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
13225
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
384 pulling from ../a
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
385 searching for changes
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
386 adding changesets
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
387 adding manifests
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
388 adding file changes
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
389 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
390 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
391 MIME-Version: 1.0
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
392 Content-Transfer-Encoding: 8bit
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
393 X-Test: foo
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
394 Date: * (glob)
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
395 Subject: \xc3\xa0... (esc)
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
396 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
397 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
398 Message-Id: <*> (glob)
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
399 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
400
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13446
diff changeset
401 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
402 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
403 diffstat:
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
404
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
405 a | 1 +
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
406 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
407
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
408 diffs (7 lines):
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
409
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13446
diff changeset
410 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
411 --- 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
412 +++ 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
413 @@ -1,2 +1,3 @@
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
414 a
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
415 a
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
416 +a
e3bf16703e26 util: fix ellipsis() not to break multi-byte sequence (issue2564)
Yuya Nishihara <yuya@tcha.org>
parents: 12646
diff changeset
417 (run 'hg update' to get a working copy)
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
418
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
419 long lines
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
420
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
421 $ cat <<EOF >> $HGRCPATH
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
422 > [notify]
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
423 > maxsubject = 67
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
424 > test = False
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
425 > mbox = mbox
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
426 > EOF
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
427 $ $PYTHON -c 'file("a/a", "ab").write("no" * 500 + "\n")'
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
428 $ hg --cwd a commit -A -m "long line"
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
429 $ hg --traceback --cwd b pull ../a
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
430 pulling from ../a
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
431 searching for changes
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
432 adding changesets
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
433 adding manifests
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
434 adding file changes
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
435 added 1 changesets with 1 changes to 1 files
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
436 notify: sending 2 subscribers 1 changes
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
437 (run 'hg update' to get a working copy)
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
438 $ $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", file("b/mbox").read()),'
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
439 From test@test.com ... ... .. ..:..:.. .... (re)
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
440 Content-Type: text/plain; charset="us-ascii"
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
441 MIME-Version: 1.0
15562
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
442 Content-Transfer-Encoding: quoted-printable
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
443 X-Test: foo
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
444 Date: * (glob)
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
445 Subject: long line
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
446 From: test@test.com
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
447 X-Hg-Notification: changeset e0be44cf638b
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
448 Message-Id: <hg.e0be44cf638b.*.*@*> (glob)
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
449 To: baz@test.com, foo@bar
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
450
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
451 changeset e0be44cf638b in b
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
452 description: long line
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
453 diffstat:
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
454
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
455 a | 1 +
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
456 1 files changed, 1 insertions(+), 0 deletions(-)
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
457
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
458 diffs (8 lines):
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
459
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
460 diff -r 7ea05ad269dc -r e0be44cf638b a
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
461 --- a/a Thu Jan 01 00:00:00 1970 +0000
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
462 +++ b/a Thu Jan 01 00:00:00 1970 +0000
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
463 @@ -1,3 +1,4 @@
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
464 a
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
465 a
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
466 a
15562
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
467 +nonononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
468 nononononononononononononononononononononononononononononononononononononon=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
469 ononononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
470 nononononononononononononononononononononononononononononononononononononon=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
471 ononononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
472 nononononononononononononononononononononononononononononononononononononon=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
473 ononononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
474 nononononononononononononononononononononononononononononononononononononon=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
475 ononononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
476 nononononononononononononononononononononononononononononononononononononon=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
477 ononononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
478 nononononononononononononononononononononononononononononononononononononon=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
479 ononononononononononononononononononononononononononononononononononononono=
a82b6038ff08 mail: use quoted-printable for mime encoding to avoid too long lines (issue3075)
Mads Kiilerich <mads@kiilerich.com>
parents: 15561
diff changeset
480 nonononononononononononono
15561
ca572e94d8e7 notify: add option for writing to mbox
Mads Kiilerich <mads@kiilerich.com>
parents: 15447
diff changeset
481
17754
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
482 revset selection: send to address that matches branch and repo
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
483
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
484 $ cat << EOF >> $HGRCPATH
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
485 > [hooks]
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
486 > incoming.notify = python:hgext.notify.hook
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
487 >
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
488 > [notify]
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
489 > sources = pull
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
490 > test = True
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
491 > diffstat = False
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
492 > maxdiff = 0
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
493 >
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
494 > [reposubs]
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
495 > */a#branch(test) = will_no_be_send@example.com
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
496 > */b#branch(test) = notify@example.com
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
497 > EOF
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
498 $ hg --cwd a branch test
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
499 marked working directory as branch test
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
500 (branches are permanent and global, did you want a bookmark?)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
501 $ echo a >> a/a
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
502 $ hg --cwd a ci -m test -d '1 0'
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
503 $ hg --traceback --cwd b pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
504 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
17754
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
505 pulling from ../a
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
506 searching for changes
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
507 adding changesets
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
508 adding manifests
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
509 adding file changes
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
510 added 1 changesets with 1 changes to 1 files
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
511 Content-Type: text/plain; charset="us-ascii"
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
512 MIME-Version: 1.0
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
513 Content-Transfer-Encoding: 7bit
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
514 X-Test: foo
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
515 Date: * (glob)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
516 Subject: test
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
517 From: test@test.com
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
518 X-Hg-Notification: changeset fbbcbc516f2f
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
519 Message-Id: <hg.fbbcbc516f2f.*.*@*> (glob)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
520 To: baz@test.com, foo@bar, notify@example.com
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
521
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
522 changeset fbbcbc516f2f in b
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
523 description: test
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
524 (run 'hg update' to get a working copy)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
525
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
526 revset selection: don't send to address that waits for mails
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
527 from different branch
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
528
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
529 $ hg --cwd a update default
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
530 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
531 $ echo a >> a/a
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
532 $ hg --cwd a ci -m test -d '1 0'
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
533 $ hg --traceback --cwd b pull ../a | \
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 17754
diff changeset
534 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
17754
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
535 pulling from ../a
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
536 searching for changes
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
537 adding changesets
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
538 adding manifests
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
539 adding file changes
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
540 added 1 changesets with 0 changes to 0 files (+1 heads)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
541 Content-Type: text/plain; charset="us-ascii"
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
542 MIME-Version: 1.0
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
543 Content-Transfer-Encoding: 7bit
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
544 X-Test: foo
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
545 Date: * (glob)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
546 Subject: test
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
547 From: test@test.com
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
548 X-Hg-Notification: changeset 38b42fa092de
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
549 Message-Id: <hg.38b42fa092de.*.*@*> (glob)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
550 To: baz@test.com, foo@bar
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
551
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
552 changeset 38b42fa092de in b
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
553 description: test
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
554 (run 'hg heads' to see heads)
19e9bf7c0927 notify: support revset selection for subscriptions
Michal Sznajder <michalsznajder@gmail.com>
parents: 16950
diff changeset
555
28951
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
556 default template:
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
557
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
558 $ grep -v '^template =' $HGRCPATH > "$HGRCPATH.new"
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
559 $ mv "$HGRCPATH.new" $HGRCPATH
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
560 $ echo a >> a/a
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
561 $ hg --cwd a commit -m 'default template'
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
562 $ hg --cwd b pull ../a -q | \
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
563 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
564 Content-Type: text/plain; charset="us-ascii"
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
565 MIME-Version: 1.0
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
566 Content-Transfer-Encoding: 7bit
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
567 Date: * (glob)
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
568 Subject: changeset in b: default template
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
569 From: test@test.com
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
570 X-Hg-Notification: changeset 3548c9e294b6
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
571 Message-Id: <hg.3548c9e294b6.*.*@*> (glob)
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
572 To: baz@test.com, foo@bar
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
573
29102
22c53b3a390d tests: add globs for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28951
diff changeset
574 changeset 3548c9e294b6 in $TESTTMP/b (glob)
28951
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
575 details: http://test/b?cmd=changeset;node=3548c9e294b6
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
576 description: default template
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
577
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
578 with style:
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
579
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
580 $ cat <<EOF > notifystyle.map
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
581 > changeset = "Subject: {desc|firstline|strip}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
582 > From: {author}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
583 > {""}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
584 > changeset {node|short}"
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
585 > EOF
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
586 $ cat <<EOF >> $HGRCPATH
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
587 > [notify]
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
588 > style = $TESTTMP/notifystyle.map
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
589 > EOF
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
590 $ echo a >> a/a
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
591 $ hg --cwd a commit -m 'with style'
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
592 $ hg --cwd b pull ../a -q | \
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
593 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
594 Content-Type: text/plain; charset="us-ascii"
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
595 MIME-Version: 1.0
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
596 Content-Transfer-Encoding: 7bit
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
597 Date: * (glob)
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
598 Subject: with style
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
599 From: test@test.com
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
600 X-Hg-Notification: changeset e917dbd961d3
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
601 Message-Id: <hg.e917dbd961d3.*.*@*> (glob)
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
602 To: baz@test.com, foo@bar
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
603
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
604 changeset e917dbd961d3
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
605
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
606 with template (overrides style):
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
607
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
608 $ cat <<EOF >> $HGRCPATH
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
609 > template = Subject: {node|short}: {desc|firstline|strip}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
610 > From: {author}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
611 > {""}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
612 > {desc}
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
613 > EOF
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
614 $ echo a >> a/a
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
615 $ hg --cwd a commit -m 'with template'
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
616 $ hg --cwd b pull ../a -q | \
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
617 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),'
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
618 Content-Type: text/plain; charset="us-ascii"
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
619 MIME-Version: 1.0
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
620 Content-Transfer-Encoding: 7bit
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
621 Date: * (glob)
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
622 Subject: a09743fd3edd: with template
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
623 From: test@test.com
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
624 X-Hg-Notification: changeset a09743fd3edd
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
625 Message-Id: <hg.a09743fd3edd.*.*@*> (glob)
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
626 To: baz@test.com, foo@bar
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
627
1bba1b43525a notify: do not load style file if template is specified (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 27729
diff changeset
628 with template