annotate tests/test-mq-safety.t @ 37047:fddcb51b5084

wireproto: define permissions-based routing of HTTPv2 wire protocol Now that we have a scaffolding for serving version 2 of the HTTP protocol, let's start implementing it. A good place to start is URL routing and basic request processing semantics. We can focus on content types, capabilities detect, etc later. Version 2 of the HTTP wire protocol encodes the needed permissions of the request in the URL path. The reasons for this are documented in the added documentation. In short, a) it makes it really easy and fail proof for server administrators to implement path-based authentication and b) it will enable clients to realize very early in a server exchange that authentication will be required to complete the operation. This latter point avoids all kinds of complexity and problems, like dealing with Expect: 100-continue and clients finding out later during `hg push` that they need to provide authentication. This will avoid the current badness where clients send a full bundle, get an HTTP 403, provide authentication, then retransmit the bundle. In order to implement command checking, we needed to implement a protocol handler for the new wire protocol. Our handler is just small enough to run the code we've implemented. Tests for the defined functionality have been added. I very much want to refactor the permissions checking code and define a better response format. But this can be done later. Nothing is covered by backwards compatibility at this point. Differential Revision: https://phab.mercurial-scm.org/D2836
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 19 Mar 2018 16:43:47 -0700
parents 4441705b7111
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
bbf544b5f2e9 mq: consistently use qrefresh
timeless@mozdev.org
parents: 25411
diff changeset
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
bbf544b5f2e9 mq: consistently use qrefresh
timeless@mozdev.org
parents: 25411
diff changeset
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
bbf544b5f2e9 mq: consistently use qrefresh
timeless@mozdev.org
parents: 25411
diff changeset
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
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 12847
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
143
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
146 $ cd ..
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
147 $ hg init forcepush
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
148 $ cd forcepush
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
149 $ echo a > a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
150 $ hg ci -Am adda
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
151 adding a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
152 $ echo a >> a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
153 $ hg ci -m changea
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
154 $ hg up 0
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
155 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
156 $ hg branch branch
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
157 marked working directory as branch branch
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 12847
diff changeset
158 (branches are permanent and global, did you want a bookmark?)
12380
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
159 $ echo b > b
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
160 $ hg ci -Am addb
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
161 adding b
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
162 $ hg up 0
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
163 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
164 $ hg --cwd .. clone -r 0 forcepush forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
165 adding changesets
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
166 adding manifests
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
167 adding file changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
170 updating to branch default
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
171 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
172 $ echo a >> a
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
173 $ hg qnew patch
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
174
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
175 Pushing applied patch with --rev without --force
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
178 pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
179 abort: source has mq patches applied
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
180 [255]
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
181
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
182 Pushing applied patch with branchhash, without --force
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
183
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
184 $ hg push ../forcepush2#default
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
185 pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
186 abort: source has mq patches applied
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
187 [255]
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
188
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
189 Pushing revs excluding applied patch
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
192 pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
193 searching for changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
194 adding changesets
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
195 adding manifests
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
196 adding file changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
197 added 1 changesets with 1 changes to 1 files
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
198
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
199 Pushing applied patch with --force
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
202 $ hg push --force -r default ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
203 pushing to ../forcepush2
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
211 adding changesets
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
212 adding manifests
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
213 adding file changes
1e2625fe371b merge with stable
Matt Mackall <mpm@selenic.com>
parents: 12378 12376
diff changeset
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 ..