Mercurial > hg
annotate tests/test-notify-changegroup.t @ 37048:fc5e261915b9
wireproto: require POST for all HTTPv2 requests
Wire protocol version 1 transfers argument data via request
headers by default. This has historically caused problems because
servers institute limits on the length of individual HTTP headers
as well as the total size of all request headers. Mercurial servers
can advertise the maximum length of an individual header. But
there's no guarantee any intermediate HTTP agents will accept
headers up to that length.
In the existing wire protocol, server operators typically also
key off the HTTP request method to implement authentication.
For example, GET requests translate to read-only requests and
can be allowed. But read-write commands must use POST and require
authentication. This has typically worked because the only wire
protocol commands that use POST modify the repo (e.g. the
"unbundle" command).
There is an experimental feature to enable clients to transmit
argument data via POST request bodies. This is technically a
better and more robust solution. But we can't enable it by default
because of servers assuming POST means write access.
In version 2 of the wire protocol, the permissions of a request
are encoded in the URL. And with it being a new protocol in a new
URL space, we're not constrained by backwards compatibility
requirements.
This commit adopts the technically superior mechanism of using
HTTP request bodies to send argument data by requiring POST for
all commands. Strictly speaking, it may be possible to send
request bodies on GET requests. But my experience is that not all
HTTP stacks support this. POST pretty much always works. Using POST
for read-only operations does sacrifice some RESTful design
purity. But this API cares about practicality, not about being
in Roy T. Fielding's REST ivory tower.
There's a chance we may relax this restriction in the future. But
for now, I want to see how far we can get with a POST only API.
Differential Revision: https://phab.mercurial-scm.org/D2837
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 13 Mar 2018 11:57:43 -0700 |
parents | 4441705b7111 |
children | 89630d0b3e23 |
rev | line source |
---|---|
7043
b714aac1f7b3
tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff
changeset
|
1 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
2 $ cat <<EOF >> $HGRCPATH |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
3 > [extensions] |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
4 > notify= |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
5 > |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
6 > [hooks] |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
7 > changegroup.notify = python:hgext.notify.hook |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
8 > |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
9 > [notify] |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
10 > sources = push |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
11 > diffstat = False |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
12 > maxsubject = 10 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
13 > |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
14 > [usersubs] |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
15 > foo@bar = * |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
16 > |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
17 > [reposubs] |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
18 > * = baz |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
19 > EOF |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
20 $ hg init a |
7043
b714aac1f7b3
tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff
changeset
|
21 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
22 clone |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
23 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
24 $ hg --traceback clone a b |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
25 updating to branch default |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
26 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
27 $ echo a > b/a |
7043
b714aac1f7b3
tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff
changeset
|
28 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
29 commit |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
30 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
31 $ hg --traceback --cwd b commit -Ama |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
32 adding a |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
33 $ echo a >> b/a |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
34 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
35 commit |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
36 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
37 $ hg --traceback --cwd b commit -Amb |
7043
b714aac1f7b3
tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff
changeset
|
38 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
39 push |
7043
b714aac1f7b3
tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff
changeset
|
40 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
41 $ hg --traceback --cwd b push ../a 2>&1 | |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
22947
diff
changeset
|
42 > $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")' |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
43 pushing to ../a |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
44 searching for changes |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
45 adding changesets |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
46 adding manifests |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
47 adding file changes |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
48 added 2 changesets with 2 changes to 1 files |
34310
2d0c306a88c2
mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com>
parents:
33721
diff
changeset
|
49 MIME-Version: 1.0 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
50 Content-Type: text/plain; charset="us-ascii" |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
51 Content-Transfer-Encoding: 7bit |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
52 Date: * (glob) |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
53 Subject: * (glob) |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
54 From: test |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
55 X-Hg-Notification: changeset cb9a9f314b8b |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
56 Message-Id: <*> (glob) |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
57 To: baz, foo@bar |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
58 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
59 changeset cb9a9f314b8b in $TESTTMP/a |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12474
diff
changeset
|
60 details: $TESTTMP/a?cmd=changeset;node=cb9a9f314b8b |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
61 summary: a |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
62 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
63 changeset ba677d0156c1 in $TESTTMP/a |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12474
diff
changeset
|
64 details: $TESTTMP/a?cmd=changeset;node=ba677d0156c1 |
12474
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
65 summary: b |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
66 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
67 diffs (6 lines): |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
68 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
69 diff -r 000000000000 -r ba677d0156c1 a |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
70 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
71 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
72 @@ -0,0 +1,2 @@ |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
73 +a |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
74 +a |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
75 $ hg --cwd a rollback |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
76 repository tip rolled back to revision -1 (undo push) |
7043
b714aac1f7b3
tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff
changeset
|
77 |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
78 unbundle with unrelated source |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
79 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
80 $ hg --cwd b bundle ../test.hg ../a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
81 searching for changes |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
82 2 changesets found |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
83 $ hg --cwd a unbundle ../test.hg |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
84 adding changesets |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
85 adding manifests |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
86 adding file changes |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
87 added 2 changesets with 2 changes to 1 files |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
34310
diff
changeset
|
88 new changesets cb9a9f314b8b:ba677d0156c1 |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
89 (run 'hg update' to get a working copy) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
90 $ hg --cwd a rollback |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
91 repository tip rolled back to revision -1 (undo unbundle) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
92 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
93 unbundle with correct source |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
94 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
95 $ hg --config notify.sources=unbundle --cwd a unbundle ../test.hg 2>&1 | |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
22947
diff
changeset
|
96 > $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")' |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
97 adding changesets |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
98 adding manifests |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
99 adding file changes |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
100 added 2 changesets with 2 changes to 1 files |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
34310
diff
changeset
|
101 new changesets cb9a9f314b8b:ba677d0156c1 |
34310
2d0c306a88c2
mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com>
parents:
33721
diff
changeset
|
102 MIME-Version: 1.0 |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
103 Content-Type: text/plain; charset="us-ascii" |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
104 Content-Transfer-Encoding: 7bit |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
105 Date: * (glob) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
106 Subject: * (glob) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
107 From: test |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
108 X-Hg-Notification: changeset cb9a9f314b8b |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
109 Message-Id: <*> (glob) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
110 To: baz, foo@bar |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
111 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
112 changeset cb9a9f314b8b in $TESTTMP/a |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
113 details: $TESTTMP/a?cmd=changeset;node=cb9a9f314b8b |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
114 summary: a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
115 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
116 changeset ba677d0156c1 in $TESTTMP/a |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
117 details: $TESTTMP/a?cmd=changeset;node=ba677d0156c1 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
118 summary: b |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
119 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
120 diffs (6 lines): |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
121 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
122 diff -r 000000000000 -r ba677d0156c1 a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
123 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
124 +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
125 @@ -0,0 +1,2 @@ |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
126 +a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
127 +a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
128 (run 'hg update' to get a working copy) |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
129 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
130 Check that using the first committer as the author of a changeset works: |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
131 Check that the config option works. |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
132 Check that the first committer is indeed used for "From:". |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
133 Check that the merge user is NOT used for "From:" |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
134 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
135 Create new file |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
136 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
137 $ echo a > b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
138 $ echo b >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
139 $ echo c >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
140 $ hg --traceback --cwd b commit -Amnewfile -u committer_1 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
141 adding b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
142 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
143 commit as one user |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
144 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
145 $ echo x > b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
146 $ echo b >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
147 $ echo c >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
148 $ hg --traceback --cwd b commit -Amx -u committer_2 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
149 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
150 commit as other user, change file so we can do an (automatic) merge |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
151 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
152 $ hg --cwd b up 2 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
153 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
154 $ echo a > b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
155 $ echo b >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
156 $ echo y >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
157 $ hg --traceback --cwd b commit -Amy -u committer_3 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
158 created new head |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
159 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
160 merge as a different user |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
161 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
162 $ hg --cwd b merge --config notify.fromauthor=True |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
163 merging b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
164 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
165 (branch merge, don't forget to commit) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
166 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
167 $ hg --traceback --cwd b commit -Am "merged" |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
168 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
169 push |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
170 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
171 $ hg --traceback --cwd b --config notify.fromauthor=True push ../a 2>&1 | |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
22947
diff
changeset
|
172 > $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")' |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
173 pushing to ../a |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
174 searching for changes |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
175 adding changesets |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
176 adding manifests |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
177 adding file changes |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
178 added 4 changesets with 4 changes to 1 files |
34310
2d0c306a88c2
mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com>
parents:
33721
diff
changeset
|
179 MIME-Version: 1.0 |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
180 Content-Type: text/plain; charset="us-ascii" |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
181 Content-Transfer-Encoding: 7bit |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
182 Date: * (glob) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
183 Subject: * (glob) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
184 From: committer_1 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
185 X-Hg-Notification: changeset 84e487dddc58 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
186 Message-Id: <*> (glob) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
187 To: baz, foo@bar |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
188 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
189 changeset 84e487dddc58 in $TESTTMP/a |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
190 details: $TESTTMP/a?cmd=changeset;node=84e487dddc58 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
191 summary: newfile |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
192 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
193 changeset b29c7a2b6b0c in $TESTTMP/a |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
194 details: $TESTTMP/a?cmd=changeset;node=b29c7a2b6b0c |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
195 summary: x |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
196 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
197 changeset 0957c7d64886 in $TESTTMP/a |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
198 details: $TESTTMP/a?cmd=changeset;node=0957c7d64886 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
199 summary: y |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
200 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
201 changeset 485b4e6b0249 in $TESTTMP/a |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
202 details: $TESTTMP/a?cmd=changeset;node=485b4e6b0249 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
203 summary: merged |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
204 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
205 diffs (7 lines): |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
206 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
207 diff -r ba677d0156c1 -r 485b4e6b0249 b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
208 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
209 +++ b/b Thu Jan 01 00:00:00 1970 +0000 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
210 @@ -0,0 +1,3 @@ |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
211 +x |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
212 +b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
213 +y |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
214 $ hg --cwd a rollback |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
215 repository tip rolled back to revision 1 (undo push) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
216 |