Mercurial > hg
annotate tests/test-mq-safety.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 |
rev | line source |
---|---|
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
1 $ echo '[extensions]' >> $HGRCPATH |
16048
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
2 $ echo 'hgext.mq =' >> $HGRCPATH |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
3 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
4 $ hg init repo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
5 $ cd repo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
6 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
7 $ echo foo > foo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
8 $ hg ci -qAm 'add a file' |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
9 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
10 $ hg qinit |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
11 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
12 $ hg qnew foo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
13 $ echo foo >> foo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
14 $ hg qrefresh -m 'append foo' |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
15 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
16 $ hg qnew bar |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
17 $ echo bar >> foo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
18 $ hg qrefresh -m 'append bar' |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
19 |
16048
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
20 Try to operate on public mq changeset |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
21 |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
22 $ hg qpop |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
23 popping bar |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
24 now at: foo |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
25 $ hg phase --public qbase |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
26 $ echo babar >> foo |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
27 $ hg qref |
26780 | 28 abort: cannot qrefresh public revision |
29968
0342bf292f73
mq: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
26780
diff
changeset
|
29 (see 'hg help phases' for details) |
16048
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
30 [255] |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
31 $ hg revert -a |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
32 reverting foo |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
33 $ hg qpop |
25411
d298805fb639
phases: rewrite "immutable changeset" to "public changeset"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
20117
diff
changeset
|
34 abort: popping would remove a public revision |
29968
0342bf292f73
mq: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
26780
diff
changeset
|
35 (see 'hg help phases' for details) |
16048
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
36 [255] |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
37 $ hg qfold bar |
26780 | 38 abort: cannot qrefresh public revision |
29968
0342bf292f73
mq: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
26780
diff
changeset
|
39 (see 'hg help phases' for details) |
16048
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
40 [255] |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
41 $ hg revert -a |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
42 reverting foo |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
43 |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
44 restore state for remaining test |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
45 |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
46 $ hg qpush |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
47 applying bar |
140b6282ac79
mq: prevent rewriting operation on public changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16023
diff
changeset
|
48 now at: bar |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
49 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
50 try to commit on top of a patch |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
51 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
52 $ echo quux >> foo |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
53 $ hg ci -m 'append quux' |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
54 abort: cannot commit over an applied mq patch |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12108
diff
changeset
|
55 [255] |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
56 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
57 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
58 cheat a bit... |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
59 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
60 $ mv .hg/patches .hg/patches2 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
61 $ hg ci -m 'append quux' |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
62 $ mv .hg/patches2 .hg/patches |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
63 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
64 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
65 qpop/qrefresh on the wrong revision |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
66 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
67 $ hg qpop |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
68 abort: popping would remove a revision not managed by this patch queue |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12108
diff
changeset
|
69 [255] |
12108
a57e0762c5ec
tests: mq-safety: use regular expression instead of sed
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11898
diff
changeset
|
70 $ hg qpop -n patches |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
71 using patch queue: $TESTTMP/repo/.hg/patches |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
72 abort: popping would remove a revision not managed by this patch queue |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12108
diff
changeset
|
73 [255] |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
74 $ hg qrefresh |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
75 abort: working directory revision is not qtip |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12108
diff
changeset
|
76 [255] |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
77 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
78 $ hg up -C qtip |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
80 $ hg qpop |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
81 abort: popping would remove a revision not managed by this patch queue |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12108
diff
changeset
|
82 [255] |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
83 $ hg qrefresh |
26780 | 84 abort: cannot qrefresh a revision with children |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12108
diff
changeset
|
85 [255] |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
86 $ hg tip --template '{rev} {desc}\n' |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
87 3 append quux |
5980
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
88 |
dcda0c90125c
mq: pop/refresh: avoid losing revisions not managed by mq
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
89 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
90 qpush warning branchheads |
10362
2e3ec7ef5349
mq: don't warn on qpush against a branch head
Dirkjan Ochtman <djc.ochtman@kentyde.com>
parents:
10119
diff
changeset
|
91 |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
92 $ cd .. |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
93 $ hg init branchy |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
94 $ cd branchy |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
95 $ echo q > q |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
96 $ hg add q |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
97 $ hg qnew -f qp |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
98 $ hg qpop |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
99 popping qp |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
100 patch queue now empty |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
101 $ echo a > a |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
102 $ hg ci -Ama |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
103 adding a |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
104 $ hg up null |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
105 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
106 $ hg branch b |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
107 marked working directory as branch b |
15615 | 108 (branches are permanent and global, did you want a bookmark?) |
11898
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
109 $ echo c > c |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
110 $ hg ci -Amc |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
111 adding c |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
112 $ hg merge default |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
113 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
114 (branch merge, don't forget to commit) |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
115 $ hg ci -mmerge |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
116 $ hg up default |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
117 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
118 $ hg log |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
119 changeset: 2:65309210bf4e |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
120 branch: b |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
121 tag: tip |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
122 parent: 1:707adb4c8ae1 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
123 parent: 0:cb9a9f314b8b |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
124 user: test |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
125 date: Thu Jan 01 00:00:00 1970 +0000 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
126 summary: merge |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
127 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
128 changeset: 1:707adb4c8ae1 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
129 branch: b |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
130 parent: -1:000000000000 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
131 user: test |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
132 date: Thu Jan 01 00:00:00 1970 +0000 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
133 summary: c |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
134 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
135 changeset: 0:cb9a9f314b8b |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
136 user: test |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
137 date: Thu Jan 01 00:00:00 1970 +0000 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
138 summary: a |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
139 |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
140 $ hg qpush |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
141 applying qp |
7dc8b9e25f19
tests: unify test-mq-safety
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10362
diff
changeset
|
142 now at: qp |
12380 | 143 |
144 Testing applied patches, push and --force | |
12378
ab237534d800
mq: always require --force when pushing patches (issue2363)
Patrick Mezard <pmezard@gmail.com>
parents:
10362
diff
changeset
|
145 |
12380 | 146 $ cd .. |
147 $ hg init forcepush | |
148 $ cd forcepush | |
149 $ echo a > a | |
150 $ hg ci -Am adda | |
151 adding a | |
152 $ echo a >> a | |
153 $ hg ci -m changea | |
154 $ hg up 0 | |
155 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
156 $ hg branch branch | |
157 marked working directory as branch branch | |
15615 | 158 (branches are permanent and global, did you want a bookmark?) |
12380 | 159 $ echo b > b |
160 $ hg ci -Am addb | |
161 adding b | |
162 $ hg up 0 | |
163 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
164 $ hg --cwd .. clone -r 0 forcepush forcepush2 | |
165 adding changesets | |
166 adding manifests | |
167 adding file changes | |
168 added 1 changesets with 1 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:
29968
diff
changeset
|
169 new changesets 07f494440405 |
12380 | 170 updating to branch default |
171 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
172 $ echo a >> a | |
173 $ hg qnew patch | |
174 | |
175 Pushing applied patch with --rev without --force | |
176 | |
15952
ec8a9e06cf05
mq-safety: don't apply safety on non-outgoing changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15951
diff
changeset
|
177 $ hg push -r . ../forcepush2 |
12380 | 178 pushing to ../forcepush2 |
179 abort: source has mq patches applied | |
180 [255] | |
181 | |
182 Pushing applied patch with branchhash, without --force | |
183 | |
184 $ hg push ../forcepush2#default | |
185 pushing to ../forcepush2 | |
186 abort: source has mq patches applied | |
187 [255] | |
188 | |
189 Pushing revs excluding applied patch | |
190 | |
17199
c6e38fdff23c
tests: convert a push test to use revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
16913
diff
changeset
|
191 $ hg push --new-branch -r 'branch(branch)' -r 2 ../forcepush2 |
12380 | 192 pushing to ../forcepush2 |
193 searching for changes | |
194 adding changesets | |
195 adding manifests | |
196 adding file changes | |
197 added 1 changesets with 1 changes to 1 files | |
198 | |
199 Pushing applied patch with --force | |
200 | |
15952
ec8a9e06cf05
mq-safety: don't apply safety on non-outgoing changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15951
diff
changeset
|
201 $ hg phase --force --secret 'mq()' |
12380 | 202 $ hg push --force -r default ../forcepush2 |
203 pushing to ../forcepush2 | |
204 searching for changes | |
15993
0b05e0bfdc1c
scmutil: unify some 'no changes found' messages
Matt Mackall <mpm@selenic.com>
parents:
15952
diff
changeset
|
205 no changes found (ignored 1 secret changesets) |
16023
90f8b8dd0326
push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents:
16017
diff
changeset
|
206 [1] |
15952
ec8a9e06cf05
mq-safety: don't apply safety on non-outgoing changeset
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15951
diff
changeset
|
207 $ hg phase --draft 'mq()' |
15926
f94513971767
mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15623
diff
changeset
|
208 $ hg push --force -r default ../forcepush2 |
f94513971767
mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15623
diff
changeset
|
209 pushing to ../forcepush2 |
f94513971767
mq: have mq create secret changeset only
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15623
diff
changeset
|
210 searching for changes |
12380 | 211 adding changesets |
212 adding manifests | |
213 adding file changes | |
214 added 1 changesets with 1 changes to 1 files (+1 heads) | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16048
diff
changeset
|
215 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16048
diff
changeset
|
216 $ cd .. |