Mercurial > hg
annotate tests/test-push-warn.t @ 18969:257afe5489d4
largefiles: improve repo wrapping detection
Before this patch, repo wrapping detection in "reposetup()" of
largefiles can detect only limited repo wrapping: replacing target
functions by another one named as "wrap".
So, it can't detect repo wrapping even in recommended style: replacing
"__class__" of repo by derived class.
This patch can detect repo wrapping in both styles below:
- replacing "__class__" of repo by derived class (recommended style):
class derived(repo.__class__):
def push(self, *args, **kwargs):
return super(derived, self).push(*args, **kwargs)
repo.__class__ = derived
- replacing function of repo by another one (not recommended style):
orgpush = repo.push
def push(*args, **kwargs):
return orgpush(*args, **kwargs)
repo.push = push
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 10 Apr 2013 02:27:35 +0900 |
parents | 06f075836010 |
children | b00ba31313c3 |
rev | line source |
---|---|
12279 | 1 $ echo "[extensions]" >> $HGRCPATH |
2 $ echo "graphlog=" >> $HGRCPATH | |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
3 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13550
diff
changeset
|
4 $ hg init a |
12279 | 5 $ cd a |
6 $ echo foo > t1 | |
7 $ hg add t1 | |
8 $ hg commit -m "1" | |
10875
a9702c47a19f
partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents:
10771
diff
changeset
|
9 |
12279 | 10 $ cd .. |
11 $ hg clone a b | |
12 updating to branch default | |
13 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
14 | |
15 $ cd a | |
16 $ echo foo > t2 | |
17 $ hg add t2 | |
18 $ hg commit -m "2" | |
19 | |
20 $ cd ../b | |
21 $ echo foo > t3 | |
22 $ hg add t3 | |
23 $ hg commit -m "3" | |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
24 |
12279 | 25 $ hg push ../a |
26 pushing to ../a | |
27 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
28 abort: push creates new remote head 1e108cc5548c! |
12279 | 29 (you should pull and merge or use push -f to force) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
30 [255] |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
31 |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
32 $ hg push --debug ../a |
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
33 pushing to ../a |
14164
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
34 query 1; heads |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
35 searching for changes |
14164
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
36 taking quick initial sample |
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
37 searching: 2 queries |
14624
f03c82d1f50a
setdiscovery: batch heads and known(ownheads)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14526
diff
changeset
|
38 query 2; still undecided: 1, sample size is: 1 |
14164
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
39 2 total queries |
17293
d3f84ccc5495
pushkey: add more verbose debug output regarding pushkey
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16913
diff
changeset
|
40 listing keys for "bookmarks" |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
41 new remote heads on branch 'default' |
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
42 new remote head 1e108cc5548c |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
43 abort: push creates new remote head 1e108cc5548c! |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
44 (you should pull and merge or use push -f to force) |
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
45 [255] |
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
46 |
12279 | 47 $ hg pull ../a |
48 pulling from ../a | |
49 searching for changes | |
50 adding changesets | |
51 adding manifests | |
52 adding file changes | |
53 added 1 changesets with 1 changes to 1 files (+1 heads) | |
54 (run 'hg heads' to see heads, 'hg merge' to merge) | |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
55 |
12279 | 56 $ hg push ../a |
57 pushing to ../a | |
58 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
59 abort: push creates new remote head 1e108cc5548c! |
12279 | 60 (did you forget to merge? use push -f to force) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
61 [255] |
12279 | 62 |
63 $ hg merge | |
64 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
65 (branch merge, don't forget to commit) | |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
66 |
12279 | 67 $ hg commit -m "4" |
68 $ hg push ../a | |
69 pushing to ../a | |
70 searching for changes | |
71 adding changesets | |
72 adding manifests | |
73 adding file changes | |
74 added 2 changesets with 1 changes to 1 files | |
75 | |
76 $ cd .. | |
77 | |
78 $ hg init c | |
79 $ cd c | |
80 $ for i in 0 1 2; do | |
81 > echo $i >> foo | |
82 > hg ci -Am $i | |
83 > done | |
84 adding foo | |
85 $ cd .. | |
86 | |
87 $ hg clone c d | |
88 updating to branch default | |
89 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
2021
fc22ed56afe3
Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1933
diff
changeset
|
90 |
12279 | 91 $ cd d |
92 $ for i in 0 1; do | |
93 > hg co -C $i | |
94 > echo d-$i >> foo | |
95 > hg ci -m d-$i | |
96 > done | |
97 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
98 created new head | |
99 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
100 created new head | |
101 | |
102 $ HGMERGE=true hg merge 3 | |
103 merging foo | |
104 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
105 (branch merge, don't forget to commit) | |
106 | |
107 $ hg ci -m c-d | |
2021
fc22ed56afe3
Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1933
diff
changeset
|
108 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
109 $ hg push ../c |
12279 | 110 pushing to ../c |
111 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
112 abort: push creates new remote head 6346d66eb9f5! |
12279 | 113 (did you forget to merge? use push -f to force) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
114 [255] |
2021
fc22ed56afe3
Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1933
diff
changeset
|
115 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
116 $ hg push -r 2 ../c |
12279 | 117 pushing to ../c |
118 searching for changes | |
119 no changes found | |
16023
90f8b8dd0326
push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents:
15615
diff
changeset
|
120 [1] |
12279 | 121 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
122 $ hg push -r 3 ../c |
12279 | 123 pushing to ../c |
124 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
125 abort: push creates new remote head a5dda829a167! |
12279 | 126 (did you forget to merge? use push -f to force) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
127 [255] |
2021
fc22ed56afe3
Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1933
diff
changeset
|
128 |
14526
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
129 $ hg push -v -r 3 -r 4 ../c |
12279 | 130 pushing to ../c |
131 searching for changes | |
14526
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
132 new remote heads on branch 'default' |
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
133 new remote head a5dda829a167 |
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
134 new remote head ee8fbc7a0295 |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
135 abort: push creates new remote head a5dda829a167! |
12279 | 136 (did you forget to merge? use push -f to force) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
137 [255] |
12279 | 138 |
14526
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
139 $ hg push -v -f -r 3 -r 4 ../c |
12279 | 140 pushing to ../c |
141 searching for changes | |
14526
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
142 2 changesets found |
12279 | 143 adding changesets |
144 adding manifests | |
145 adding file changes | |
146 added 2 changesets with 2 changes to 1 files (+2 heads) | |
147 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
148 $ hg push -r 5 ../c |
12279 | 149 pushing to ../c |
150 searching for changes | |
151 adding changesets | |
152 adding manifests | |
153 adding file changes | |
154 added 1 changesets with 1 changes to 1 files (-1 heads) | |
2021
fc22ed56afe3
Fix hg push and hg push -r sometimes creating new heads without --force.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1933
diff
changeset
|
155 |
12279 | 156 $ hg in ../c |
157 comparing with ../c | |
158 searching for changes | |
159 no changes found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
160 [1] |
12279 | 161 |
162 | |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
163 Issue450: push -r warns about remote head creation even if no heads |
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
164 will be created |
3923
27230c29bfec
fix calculation of new heads added during push with -r
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3803
diff
changeset
|
165 |
12279 | 166 $ hg init ../e |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
167 $ hg push -r 0 ../e |
12279 | 168 pushing to ../e |
169 searching for changes | |
170 adding changesets | |
171 adding manifests | |
172 adding file changes | |
173 added 1 changesets with 1 changes to 1 files | |
174 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
175 $ hg push -r 1 ../e |
12279 | 176 pushing to ../e |
177 searching for changes | |
178 adding changesets | |
179 adding manifests | |
180 adding file changes | |
181 added 1 changesets with 1 changes to 1 files | |
182 | |
183 $ cd .. | |
184 | |
185 | |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
186 Issue736: named branches are not considered for detection of |
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
187 unmerged heads in "hg push" |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
188 |
12279 | 189 $ hg init f |
190 $ cd f | |
191 $ hg -q branch a | |
192 $ echo 0 > foo | |
193 $ hg -q ci -Am 0 | |
194 $ echo 1 > foo | |
195 $ hg -q ci -m 1 | |
196 $ hg -q up 0 | |
197 $ echo 2 > foo | |
198 $ hg -q ci -m 2 | |
199 $ hg -q up 0 | |
200 $ hg -q branch b | |
201 $ echo 3 > foo | |
202 $ hg -q ci -m 3 | |
203 $ cd .. | |
204 | |
205 $ hg -q clone f g | |
206 $ cd g | |
207 | |
208 Push on existing branch and new branch: | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
209 |
12279 | 210 $ hg -q up 1 |
211 $ echo 4 > foo | |
212 $ hg -q ci -m 4 | |
213 $ hg -q up 0 | |
214 $ echo 5 > foo | |
215 $ hg -q branch c | |
216 $ hg -q ci -m 5 | |
217 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
218 $ hg push ../f |
12279 | 219 pushing to ../f |
220 searching for changes | |
221 abort: push creates new remote branches: c! | |
222 (use 'hg push --new-branch' to create new remote branches) | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
223 [255] |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
224 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
225 $ hg push -r 4 -r 5 ../f |
12279 | 226 pushing to ../f |
227 searching for changes | |
228 abort: push creates new remote branches: c! | |
229 (use 'hg push --new-branch' to create new remote branches) | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
230 [255] |
12279 | 231 |
232 | |
233 Multiple new branches: | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
234 |
12279 | 235 $ hg -q branch d |
236 $ echo 6 > foo | |
237 $ hg -q ci -m 6 | |
238 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
239 $ hg push ../f |
12279 | 240 pushing to ../f |
241 searching for changes | |
242 abort: push creates new remote branches: c, d! | |
243 (use 'hg push --new-branch' to create new remote branches) | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
244 [255] |
10354
844d83da2da9
prepush: warn about every new outgoing named branch, not just the first
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9954
diff
changeset
|
245 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
246 $ hg push -r 4 -r 6 ../f |
12279 | 247 pushing to ../f |
248 searching for changes | |
249 abort: push creates new remote branches: c, d! | |
250 (use 'hg push --new-branch' to create new remote branches) | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
251 [255] |
12279 | 252 |
253 $ cd ../g | |
254 | |
255 | |
256 Fail on multiple head push: | |
257 | |
258 $ hg -q up 1 | |
259 $ echo 7 > foo | |
260 $ hg -q ci -m 7 | |
261 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
262 $ hg push -r 4 -r 7 ../f |
12279 | 263 pushing to ../f |
264 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
265 abort: push creates new remote head 0b715ef6ff8f on branch 'a'! |
12279 | 266 (did you forget to merge? use push -f to force) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
267 [255] |
12279 | 268 |
269 Push replacement head on existing branches: | |
270 | |
271 $ hg -q up 3 | |
272 $ echo 8 > foo | |
273 $ hg -q ci -m 8 | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
274 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
275 $ hg push -r 7 -r 8 ../f |
12279 | 276 pushing to ../f |
277 searching for changes | |
278 adding changesets | |
279 adding manifests | |
280 adding file changes | |
281 added 2 changesets with 2 changes to 1 files | |
282 | |
283 | |
284 Merge of branch a to other branch b followed by unrelated push | |
285 on branch a: | |
286 | |
287 $ hg -q up 7 | |
288 $ HGMERGE=true hg -q merge 8 | |
289 $ hg -q ci -m 9 | |
290 $ hg -q up 8 | |
291 $ echo 10 > foo | |
292 $ hg -q ci -m 10 | |
293 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
294 $ hg push -r 9 ../f |
12279 | 295 pushing to ../f |
296 searching for changes | |
297 adding changesets | |
298 adding manifests | |
299 adding file changes | |
300 added 1 changesets with 1 changes to 1 files (-1 heads) | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
301 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
302 $ hg push -r 10 ../f |
12279 | 303 pushing to ../f |
304 searching for changes | |
305 adding changesets | |
306 adding manifests | |
307 adding file changes | |
308 added 1 changesets with 1 changes to 1 files (+1 heads) | |
309 | |
310 | |
311 Cheating the counting algorithm: | |
312 | |
313 $ hg -q up 9 | |
314 $ HGMERGE=true hg -q merge 2 | |
315 $ hg -q ci -m 11 | |
316 $ hg -q up 1 | |
317 $ echo 12 > foo | |
318 $ hg -q ci -m 12 | |
319 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
320 $ hg push -r 11 -r 12 ../f |
12279 | 321 pushing to ../f |
322 searching for changes | |
323 adding changesets | |
324 adding manifests | |
325 adding file changes | |
326 added 2 changesets with 2 changes to 1 files | |
327 | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
328 |
12279 | 329 Failed push of new named branch: |
330 | |
331 $ echo 12 > foo | |
332 $ hg -q ci -m 12a | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
333 [1] |
12279 | 334 $ hg -q up 11 |
335 $ echo 13 > foo | |
336 $ hg -q branch e | |
337 $ hg -q ci -m 13d | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
338 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
339 $ hg push -r 12 -r 13 ../f |
12279 | 340 pushing to ../f |
341 searching for changes | |
342 abort: push creates new remote branches: e! | |
343 (use 'hg push --new-branch' to create new remote branches) | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
344 [255] |
12279 | 345 |
346 | |
347 Using --new-branch to push new named branch: | |
11211
e43c23d189a5
push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents:
10925
diff
changeset
|
348 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
349 $ hg push --new-branch -r 12 -r 13 ../f |
12279 | 350 pushing to ../f |
351 searching for changes | |
352 adding changesets | |
353 adding manifests | |
354 adding file changes | |
355 added 1 changesets with 1 changes to 1 files | |
356 | |
11211
e43c23d189a5
push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents:
10925
diff
changeset
|
357 |
12785
c7d23b4ca4ba
check-code: warning and fixes for whitespace in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12399
diff
changeset
|
358 Checking prepush logic does not allow silently pushing |
12279 | 359 multiple new heads: |
360 | |
361 $ cd .. | |
362 $ hg init h | |
363 $ echo init > h/init | |
364 $ hg -R h ci -Am init | |
365 adding init | |
366 $ echo a > h/a | |
367 $ hg -R h ci -Am a | |
368 adding a | |
369 $ hg clone h i | |
370 updating to branch default | |
371 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
372 $ hg -R h up 0 | |
373 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
374 $ echo b > h/b | |
375 $ hg -R h ci -Am b | |
376 adding b | |
377 created new head | |
378 $ hg -R i up 0 | |
379 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
380 $ echo c > i/c | |
381 $ hg -R i ci -Am c | |
382 adding c | |
383 created new head | |
9479
f3569d95c2ab
push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents:
8565
diff
changeset
|
384 |
12279 | 385 $ hg -R i push h |
386 pushing to h | |
387 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
388 abort: push creates new remote head 97bd0c84d346! |
12279 | 389 (you should pull and merge or use push -f to force) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
390 [255] |
12279 | 391 |
392 | |
393 Check prepush logic with merged branches: | |
394 | |
395 $ hg init j | |
396 $ hg -R j branch a | |
397 marked working directory as branch a | |
15615 | 398 (branches are permanent and global, did you want a bookmark?) |
12279 | 399 $ echo init > j/foo |
400 $ hg -R j ci -Am init | |
401 adding foo | |
402 $ hg clone j k | |
403 updating to branch a | |
404 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
405 $ echo a1 > j/foo | |
406 $ hg -R j ci -m a1 | |
407 $ hg -R k branch b | |
408 marked working directory as branch b | |
15615 | 409 (branches are permanent and global, did you want a bookmark?) |
12279 | 410 $ echo b > k/foo |
411 $ hg -R k ci -m b | |
412 $ hg -R k up 0 | |
413 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
414 | |
415 $ hg -R k merge b | |
416 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
417 (branch merge, don't forget to commit) | |
418 | |
419 $ hg -R k ci -m merge | |
9954
d6a307719ccb
fix bug in prepush logic involving merge changesets
Sune Foldager <cryo@cyanite.org>
parents:
9609
diff
changeset
|
420 |
12279 | 421 $ hg -R k push -r a j |
422 pushing to j | |
423 searching for changes | |
424 abort: push creates new remote branches: b! | |
425 (use 'hg push --new-branch' to create new remote branches) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
426 [255] |
12279 | 427 |
428 | |
429 Prepush -r should not allow you to sneak in new heads: | |
10875
a9702c47a19f
partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents:
10771
diff
changeset
|
430 |
12279 | 431 $ hg init l |
432 $ cd l | |
433 $ echo a >> foo | |
434 $ hg -q add foo | |
435 $ hg -q branch a | |
436 $ hg -q ci -ma | |
437 $ hg -q up null | |
438 $ echo a >> foo | |
439 $ hg -q add foo | |
440 $ hg -q branch b | |
441 $ hg -q ci -mb | |
442 $ cd .. | |
443 $ hg -q clone l m -u a | |
444 $ cd m | |
445 $ hg -q merge b | |
446 $ hg -q ci -mmb | |
447 $ hg -q up 0 | |
448 $ echo a >> foo | |
449 $ hg -q ci -ma2 | |
450 $ hg -q up 2 | |
451 $ echo a >> foo | |
452 $ hg -q branch -f b | |
453 $ hg -q ci -mb2 | |
454 $ hg -q merge 3 | |
455 $ hg -q ci -mma | |
456 | |
457 $ hg push ../l -b b | |
458 pushing to ../l | |
459 searching for changes | |
18361
06f075836010
discovery: process heads in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents:
17293
diff
changeset
|
460 abort: push creates new remote head 451211cc22b0 on branch 'a'! |
12279 | 461 (did you forget to merge? use push -f to force) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
462 [255] |
12279 | 463 |
464 $ cd .. | |
465 | |
466 | |
467 Check prepush with new branch head on former topo non-head: | |
468 | |
469 $ hg init n | |
470 $ cd n | |
471 $ hg branch A | |
472 marked working directory as branch A | |
15615 | 473 (branches are permanent and global, did you want a bookmark?) |
12279 | 474 $ echo a >a |
475 $ hg ci -Ama | |
476 adding a | |
477 $ hg branch B | |
478 marked working directory as branch B | |
15615 | 479 (branches are permanent and global, did you want a bookmark?) |
12279 | 480 $ echo b >b |
481 $ hg ci -Amb | |
482 adding b | |
483 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
484 b is now branch head of B, and a topological head |
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
485 a is now branch head of A, but not a topological head |
12279 | 486 |
487 $ hg clone . inner | |
488 updating to branch B | |
489 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
490 $ cd inner | |
491 $ hg up B | |
492 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
493 $ echo b1 >b1 | |
494 $ hg ci -Amb1 | |
495 adding b1 | |
496 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
497 in the clone b1 is now the head of B |
12279 | 498 |
499 $ cd .. | |
500 $ hg up 0 | |
501 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
502 $ echo a2 >a2 | |
503 $ hg ci -Ama2 | |
504 adding a2 | |
505 | |
12785
c7d23b4ca4ba
check-code: warning and fixes for whitespace in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12399
diff
changeset
|
506 a2 is now the new branch head of A, and a new topological head |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
507 it replaces a former inner branch head, so it should at most warn about |
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
508 A, not B |
12279 | 509 |
510 glog of local: | |
511 | |
512 $ hg glog --template "{rev}: {branches} {desc}\n" | |
513 @ 2: A a2 | |
514 | | |
515 | o 1: B b | |
516 |/ | |
517 o 0: A a | |
518 | |
519 glog of remote: | |
520 | |
521 $ hg glog -R inner --template "{rev}: {branches} {desc}\n" | |
522 @ 2: B b1 | |
523 | | |
524 o 1: B b | |
525 | | |
526 o 0: A a | |
527 | |
528 outgoing: | |
529 | |
530 $ hg out inner --template "{rev}: {branches} {desc}\n" | |
531 comparing with inner | |
532 searching for changes | |
533 2: A a2 | |
534 | |
535 $ hg push inner | |
536 pushing to inner | |
537 searching for changes | |
538 adding changesets | |
539 adding manifests | |
540 adding file changes | |
541 added 1 changesets with 1 changes to 1 files (+1 heads) | |
542 | |
543 $ cd .. | |
544 | |
545 | |
546 Check prepush with new branch head on former topo head: | |
10875
a9702c47a19f
partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents:
10771
diff
changeset
|
547 |
12279 | 548 $ hg init o |
549 $ cd o | |
550 $ hg branch A | |
551 marked working directory as branch A | |
15615 | 552 (branches are permanent and global, did you want a bookmark?) |
12279 | 553 $ echo a >a |
554 $ hg ci -Ama | |
555 adding a | |
556 $ hg branch B | |
557 marked working directory as branch B | |
15615 | 558 (branches are permanent and global, did you want a bookmark?) |
12279 | 559 $ echo b >b |
560 $ hg ci -Amb | |
561 adding b | |
562 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
563 b is now branch head of B, and a topological head |
12279 | 564 |
565 $ hg up 0 | |
566 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
567 $ echo a1 >a1 | |
568 $ hg ci -Ama1 | |
569 adding a1 | |
570 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
571 a1 is now branch head of A, and a topological head |
12279 | 572 |
573 $ hg clone . inner | |
574 updating to branch A | |
575 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
576 $ cd inner | |
577 $ hg up B | |
578 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
579 $ echo b1 >b1 | |
580 $ hg ci -Amb1 | |
581 adding b1 | |
582 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
583 in the clone b1 is now the head of B |
12279 | 584 |
585 $ cd .. | |
586 $ echo a2 >a2 | |
587 $ hg ci -Ama2 | |
588 adding a2 | |
589 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
590 a2 is now the new branch head of A, and a topological head |
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
591 it replaces a former topological and branch head, so this should not warn |
12279 | 592 |
593 glog of local: | |
594 | |
595 $ hg glog --template "{rev}: {branches} {desc}\n" | |
596 @ 3: A a2 | |
597 | | |
598 o 2: A a1 | |
599 | | |
600 | o 1: B b | |
601 |/ | |
602 o 0: A a | |
603 | |
604 glog of remote: | |
605 | |
606 $ hg glog -R inner --template "{rev}: {branches} {desc}\n" | |
607 @ 3: B b1 | |
608 | | |
609 | o 2: A a1 | |
610 | | | |
611 o | 1: B b | |
612 |/ | |
613 o 0: A a | |
614 | |
615 outgoing: | |
616 | |
617 $ hg out inner --template "{rev}: {branches} {desc}\n" | |
618 comparing with inner | |
619 searching for changes | |
620 3: A a2 | |
621 | |
622 $ hg push inner | |
623 pushing to inner | |
624 searching for changes | |
625 adding changesets | |
626 adding manifests | |
627 adding file changes | |
628 added 1 changesets with 1 changes to 1 files | |
629 | |
630 $ cd .. | |
631 | |
632 | |
633 Check prepush with new branch head and new child of former branch head | |
634 but child is on different branch: | |
635 | |
636 $ hg init p | |
637 $ cd p | |
638 $ hg branch A | |
639 marked working directory as branch A | |
15615 | 640 (branches are permanent and global, did you want a bookmark?) |
12279 | 641 $ echo a0 >a |
642 $ hg ci -Ama0 | |
643 adding a | |
644 $ echo a1 >a | |
645 $ hg ci -ma1 | |
646 $ hg up null | |
647 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
648 $ hg branch B | |
649 marked working directory as branch B | |
15615 | 650 (branches are permanent and global, did you want a bookmark?) |
12279 | 651 $ echo b0 >b |
652 $ hg ci -Amb0 | |
653 adding b | |
654 $ echo b1 >b | |
655 $ hg ci -mb1 | |
656 | |
657 $ hg clone . inner | |
658 updating to branch B | |
659 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
10771
01f097c4ae66
push: fix bug in prepush logic and its tests
Sune Foldager <cryo@cyanite.org>
parents:
10354
diff
changeset
|
660 |
12279 | 661 $ hg up A |
662 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
663 $ hg branch -f B | |
664 marked working directory as branch B | |
15615 | 665 (branches are permanent and global, did you want a bookmark?) |
12279 | 666 $ echo a3 >a |
667 $ hg ci -ma3 | |
668 created new head | |
669 $ hg up 3 | |
670 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
671 $ hg branch -f A | |
672 marked working directory as branch A | |
15615 | 673 (branches are permanent and global, did you want a bookmark?) |
12279 | 674 $ echo b3 >b |
675 $ hg ci -mb3 | |
676 created new head | |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
677 |
12279 | 678 glog of local: |
679 | |
680 $ hg glog --template "{rev}: {branches} {desc}\n" | |
681 @ 5: A b3 | |
682 | | |
683 | o 4: B a3 | |
684 | | | |
685 o | 3: B b1 | |
686 | | | |
687 o | 2: B b0 | |
688 / | |
689 o 1: A a1 | |
690 | | |
691 o 0: A a0 | |
692 | |
693 glog of remote: | |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
694 |
12279 | 695 $ hg glog -R inner --template "{rev}: {branches} {desc}\n" |
696 @ 3: B b1 | |
697 | | |
698 o 2: B b0 | |
699 | |
700 o 1: A a1 | |
701 | | |
702 o 0: A a0 | |
703 | |
704 outgoing: | |
705 | |
706 $ hg out inner --template "{rev}: {branches} {desc}\n" | |
707 comparing with inner | |
708 searching for changes | |
709 4: B a3 | |
710 5: A b3 | |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
711 |
12279 | 712 $ hg push inner |
713 pushing to inner | |
714 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
715 abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! |
12279 | 716 (did you forget to merge? use push -f to force) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
717 [255] |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
718 |
12279 | 719 $ hg push inner -r4 -r5 |
720 pushing to inner | |
721 searching for changes | |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
722 abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! |
12279 | 723 (did you forget to merge? use push -f to force) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
724 [255] |
12279 | 725 |
726 $ hg in inner | |
727 comparing with inner | |
728 searching for changes | |
729 no changes found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
730 [1] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16023
diff
changeset
|
731 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16023
diff
changeset
|
732 $ cd .. |