Mercurial > hg
annotate tests/test-push-warn.t @ 24545:9e0c67e84896
json: implement {tags} template
Tags is pretty easy to implement. Let's start there.
The output is slightly different from `hg tags -Tjson`. For reference,
the CLI has the following output:
[
{
"node": "e2049974f9a23176c2addb61d8f5b86e0d620490",
"rev": 29880,
"tag": "tip",
"type": ""
},
...
]
Our output has the format:
{
"node": "0aeb19ea57a6d223bacddda3871cb78f24b06510",
"tags": [
{
"node": "e2049974f9a23176c2addb61d8f5b86e0d620490",
"tag": "tag1",
"date": [1427775457.0, 25200]
},
...
]
}
"rev" is omitted because it isn't a reliable identifier. We shouldn't
be exposing them in web APIs and giving the impression it remotely
resembles a stable identifier. Perhaps we could one day hide this behind
a config option (it might be useful to expose when running servers
locally).
The "type" of the tag isn't defined because this information isn't yet
exposed to the hgweb templater (it could be in a follow-up) and because
it is questionable whether different types should be exposed at all.
(Should the web interface really be exposing "local" tags?)
We use an object for the outer type instead of Array for a few reasons.
First, it is extensible. If we ever need to throw more global properties
into the output, we can do that without breaking backwards compatibility
(property additions should be backwards compatible). Second, uniformity
in web APIs is nice. Having everything return objects seems much saner than
a mix of array and object. Third, there are security issues with arrays
in older browsers. The JSON web services world almost never uses arrays
as the main type for this reason.
Another possibly controversial part about this patch is how dates are
defined. While JSON has a Date type, it is based on the JavaScript Date
type, which is widely considered a pile of garbage. It is a non-starter
for this reason.
Many of Mercurial's built-in date filters drop seconds resolution. So
that's a non-starter as well, since we want the API to be lossless where
possible. rfc3339date, rfc822date, isodatesec, and date are all lossless.
However, they each require the client to perform string parsing on top of
JSON decoding. While date parsing libraries are pretty ubiquitous, some
languages don't have them out of the box. However, pretty much every
programming language can deal with UNIX timestamps (which are just
integers or floats). So, we choose to use Mercurial's internal date
representation, which in JSON is modeled as float seconds since UNIX
epoch and an integer timezone offset from UTC (keep in mind
JavaScript/JSON models all "Numbers" as double prevision floating point
numbers, so there isn't a difference between ints and floats in JSON).
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 31 Mar 2015 14:52:21 -0700 |
parents | 69bd0ec2f9be |
children | bd625cd4e5e7 |
rev | line source |
---|---|
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13550
diff
changeset
|
1 $ hg init a |
12279 | 2 $ cd a |
3 $ echo foo > t1 | |
4 $ hg add t1 | |
5 $ hg commit -m "1" | |
10875
a9702c47a19f
partial backout of 1e819576e926 and add tests (issue2131)
Sune Foldager <cryo@cyanite.org>
parents:
10771
diff
changeset
|
6 |
12279 | 7 $ cd .. |
8 $ hg clone a b | |
9 updating to branch default | |
10 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
11 | |
12 $ cd a | |
13 $ echo foo > t2 | |
14 $ hg add t2 | |
15 $ hg commit -m "2" | |
16 | |
17 $ cd ../b | |
18 $ echo foo > t3 | |
19 $ hg add t3 | |
20 $ hg commit -m "3" | |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
21 |
24429
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
22 Specifying a revset that evaluates to null will abort |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
23 |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
24 $ hg push -r '0 & 1' ../a |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
25 pushing to ../a |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
26 abort: specified revisions evaluate to an empty set |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
27 (use different revision arguments) |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
28 [255] |
69bd0ec2f9be
commands.push: abort when revisions evaluate to empty set (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24361
diff
changeset
|
29 |
12279 | 30 $ hg push ../a |
31 pushing to ../a | |
32 searching for changes | |
20501
8a9e0b523d2d
discovery: improve "note: unsynced remote changes!" warning
Mads Kiilerich <madski@unity3d.com>
parents:
20117
diff
changeset
|
33 remote has heads on branch 'default' that are not known locally: 1c9246a22a0a |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
34 abort: push creates new remote head 1e108cc5548c! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
35 (pull and merge or see "hg help push" for details about pushing new heads) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
36 [255] |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
37 |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
38 $ hg push --debug ../a |
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
39 pushing to ../a |
14164
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
40 query 1; heads |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
41 searching for changes |
14164
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
42 taking quick initial sample |
cb98fed52495
discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14073
diff
changeset
|
43 searching: 2 queries |
14624
f03c82d1f50a
setdiscovery: batch heads and known(ownheads)
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14526
diff
changeset
|
44 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
|
45 2 total queries |
22019
9fcf772f15ff
push: perform phases discovery before the push
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
21198
diff
changeset
|
46 listing keys for "phases" |
22239
0688010ee38f
push: move bookmark discovery with other discovery steps
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22019
diff
changeset
|
47 checking for updated bookmarks |
0688010ee38f
push: move bookmark discovery with other discovery steps
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22019
diff
changeset
|
48 listing keys for "bookmarks" |
17293
d3f84ccc5495
pushkey: add more verbose debug output regarding pushkey
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
16913
diff
changeset
|
49 listing keys for "bookmarks" |
20501
8a9e0b523d2d
discovery: improve "note: unsynced remote changes!" warning
Mads Kiilerich <madski@unity3d.com>
parents:
20117
diff
changeset
|
50 remote has heads on branch 'default' that are not known locally: 1c9246a22a0a |
20051
b988b3b19303
discovery: make note messages for new heads more readable
Mads Kiilerich <madski@unity3d.com>
parents:
20050
diff
changeset
|
51 new remote heads on branch 'default': |
b988b3b19303
discovery: make note messages for new heads more readable
Mads Kiilerich <madski@unity3d.com>
parents:
20050
diff
changeset
|
52 1e108cc5548c |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
53 abort: push creates new remote head 1e108cc5548c! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
54 (pull and merge or see "hg help push" for details about pushing new heads) |
12998
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
55 [255] |
91cb08a9e7fb
discovery: list new remote heads in prepush() on --debug
Adrian Buehlmann <adrian@cadifra.com>
parents:
12785
diff
changeset
|
56 |
12279 | 57 $ hg pull ../a |
58 pulling from ../a | |
59 searching for changes | |
60 adding changesets | |
61 adding manifests | |
62 adding file changes | |
63 added 1 changesets with 1 changes to 1 files (+1 heads) | |
64 (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
|
65 |
12279 | 66 $ hg push ../a |
67 pushing to ../a | |
68 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
|
69 abort: push creates new remote head 1e108cc5548c! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
70 (merge or see "hg help push" for details about pushing new heads) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
71 [255] |
12279 | 72 |
73 $ hg merge | |
74 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
75 (branch merge, don't forget to commit) | |
816
8674b7803714
Warn on pushing unsynced repo or adding new heads
mpm@selenic.com
parents:
diff
changeset
|
76 |
12279 | 77 $ hg commit -m "4" |
78 $ hg push ../a | |
79 pushing to ../a | |
80 searching for changes | |
81 adding changesets | |
82 adding manifests | |
83 adding file changes | |
84 added 2 changesets with 1 changes to 1 files | |
85 | |
86 $ cd .. | |
87 | |
88 $ hg init c | |
89 $ cd c | |
90 $ for i in 0 1 2; do | |
91 > echo $i >> foo | |
92 > hg ci -Am $i | |
93 > done | |
94 adding foo | |
95 $ cd .. | |
96 | |
97 $ hg clone c d | |
98 updating to branch default | |
99 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
|
100 |
12279 | 101 $ cd d |
102 $ for i in 0 1; do | |
103 > hg co -C $i | |
104 > echo d-$i >> foo | |
105 > hg ci -m d-$i | |
106 > done | |
107 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
108 created new head | |
109 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
110 created new head | |
111 | |
112 $ HGMERGE=true hg merge 3 | |
113 merging foo | |
114 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
115 (branch merge, don't forget to commit) | |
116 | |
117 $ 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
|
118 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
119 $ hg push ../c |
12279 | 120 pushing to ../c |
121 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
|
122 abort: push creates new remote head 6346d66eb9f5! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
123 (merge or see "hg help push" for details about pushing new heads) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
124 [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
|
125 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
126 $ hg push -r 2 ../c |
12279 | 127 pushing to ../c |
128 searching for changes | |
129 no changes found | |
16023
90f8b8dd0326
push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents:
15615
diff
changeset
|
130 [1] |
12279 | 131 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
132 $ hg push -r 3 ../c |
12279 | 133 pushing to ../c |
134 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
|
135 abort: push creates new remote head a5dda829a167! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
136 (merge or see "hg help push" for details about pushing new heads) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
137 [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
|
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 -r 3 -r 4 ../c |
12279 | 140 pushing to ../c |
141 searching for changes | |
20051
b988b3b19303
discovery: make note messages for new heads more readable
Mads Kiilerich <madski@unity3d.com>
parents:
20050
diff
changeset
|
142 new remote heads on branch 'default': |
b988b3b19303
discovery: make note messages for new heads more readable
Mads Kiilerich <madski@unity3d.com>
parents:
20050
diff
changeset
|
143 a5dda829a167 |
b988b3b19303
discovery: make note messages for new heads more readable
Mads Kiilerich <madski@unity3d.com>
parents:
20050
diff
changeset
|
144 ee8fbc7a0295 |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
145 abort: push creates new remote head a5dda829a167! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
146 (merge or see "hg help push" for details about pushing new heads) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
147 [255] |
12279 | 148 |
14526
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
149 $ hg push -v -f -r 3 -r 4 ../c |
12279 | 150 pushing to ../c |
151 searching for changes | |
14526
4276e3202585
prepush: show details about new remote heads with --verbose
Adrian Buehlmann <adrian@cadifra.com>
parents:
14525
diff
changeset
|
152 2 changesets found |
23748
4ab66de46a96
bundle: when verbose, show what takes up the space in the generated bundle
Mads Kiilerich <madski@unity3d.com>
parents:
22239
diff
changeset
|
153 uncompressed size of bundle content: |
4ab66de46a96
bundle: when verbose, show what takes up the space in the generated bundle
Mads Kiilerich <madski@unity3d.com>
parents:
22239
diff
changeset
|
154 308 (changelog) |
4ab66de46a96
bundle: when verbose, show what takes up the space in the generated bundle
Mads Kiilerich <madski@unity3d.com>
parents:
22239
diff
changeset
|
155 286 (manifests) |
4ab66de46a96
bundle: when verbose, show what takes up the space in the generated bundle
Mads Kiilerich <madski@unity3d.com>
parents:
22239
diff
changeset
|
156 213 foo |
12279 | 157 adding changesets |
158 adding manifests | |
159 adding file changes | |
160 added 2 changesets with 2 changes to 1 files (+2 heads) | |
161 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
162 $ hg push -r 5 ../c |
12279 | 163 pushing to ../c |
164 searching for changes | |
165 adding changesets | |
166 adding manifests | |
167 adding file changes | |
168 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
|
169 |
12279 | 170 $ hg in ../c |
171 comparing with ../c | |
172 searching for changes | |
173 no changes found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
174 [1] |
12279 | 175 |
176 | |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
177 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
|
178 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
|
179 |
12279 | 180 $ hg init ../e |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
181 $ hg push -r 0 ../e |
12279 | 182 pushing to ../e |
183 searching for changes | |
184 adding changesets | |
185 adding manifests | |
186 adding file changes | |
187 added 1 changesets with 1 changes to 1 files | |
188 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
189 $ hg push -r 1 ../e |
12279 | 190 pushing to ../e |
191 searching for changes | |
192 adding changesets | |
193 adding manifests | |
194 adding file changes | |
195 added 1 changesets with 1 changes to 1 files | |
196 | |
197 $ cd .. | |
198 | |
199 | |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12365
diff
changeset
|
200 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
|
201 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
|
202 |
12279 | 203 $ hg init f |
204 $ cd f | |
205 $ hg -q branch a | |
206 $ echo 0 > foo | |
207 $ hg -q ci -Am 0 | |
208 $ echo 1 > foo | |
209 $ hg -q ci -m 1 | |
210 $ hg -q up 0 | |
211 $ echo 2 > foo | |
212 $ hg -q ci -m 2 | |
213 $ hg -q up 0 | |
214 $ hg -q branch b | |
215 $ echo 3 > foo | |
216 $ hg -q ci -m 3 | |
217 $ cd .. | |
218 | |
219 $ hg -q clone f g | |
220 $ cd g | |
221 | |
222 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
|
223 |
12279 | 224 $ hg -q up 1 |
225 $ echo 4 > foo | |
226 $ hg -q ci -m 4 | |
227 $ hg -q up 0 | |
228 $ echo 5 > foo | |
229 $ hg -q branch c | |
230 $ hg -q ci -m 5 | |
231 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
232 $ hg push ../f |
12279 | 233 pushing to ../f |
234 searching for changes | |
235 abort: push creates new remote branches: c! | |
236 (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
|
237 [255] |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
238 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
239 $ hg push -r 4 -r 5 ../f |
12279 | 240 pushing to ../f |
241 searching for changes | |
242 abort: push creates new remote branches: c! | |
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] |
12279 | 245 |
246 | |
247 Multiple new branches: | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
248 |
12279 | 249 $ hg -q branch d |
250 $ echo 6 > foo | |
251 $ hg -q ci -m 6 | |
252 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
253 $ hg push ../f |
12279 | 254 pushing to ../f |
255 searching for changes | |
256 abort: push creates new remote branches: c, d! | |
257 (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
|
258 [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
|
259 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
260 $ hg push -r 4 -r 6 ../f |
12279 | 261 pushing to ../f |
262 searching for changes | |
263 abort: push creates new remote branches: c, d! | |
264 (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
|
265 [255] |
12279 | 266 |
267 $ cd ../g | |
268 | |
269 | |
270 Fail on multiple head push: | |
271 | |
272 $ hg -q up 1 | |
273 $ echo 7 > foo | |
274 $ hg -q ci -m 7 | |
275 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
276 $ hg push -r 4 -r 7 ../f |
12279 | 277 pushing to ../f |
278 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
|
279 abort: push creates new remote head 0b715ef6ff8f on branch 'a'! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
280 (merge or see "hg help push" for details about pushing new heads) |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
281 [255] |
12279 | 282 |
283 Push replacement head on existing branches: | |
284 | |
285 $ hg -q up 3 | |
286 $ echo 8 > foo | |
287 $ 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
|
288 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
289 $ hg push -r 7 -r 8 ../f |
12279 | 290 pushing to ../f |
291 searching for changes | |
292 adding changesets | |
293 adding manifests | |
294 adding file changes | |
295 added 2 changesets with 2 changes to 1 files | |
296 | |
297 | |
298 Merge of branch a to other branch b followed by unrelated push | |
299 on branch a: | |
300 | |
301 $ hg -q up 7 | |
302 $ HGMERGE=true hg -q merge 8 | |
303 $ hg -q ci -m 9 | |
304 $ hg -q up 8 | |
305 $ echo 10 > foo | |
306 $ hg -q ci -m 10 | |
307 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
308 $ hg push -r 9 ../f |
12279 | 309 pushing to ../f |
310 searching for changes | |
311 adding changesets | |
312 adding manifests | |
313 adding file changes | |
314 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
|
315 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
316 $ hg push -r 10 ../f |
12279 | 317 pushing to ../f |
318 searching for changes | |
319 adding changesets | |
320 adding manifests | |
321 adding file changes | |
322 added 1 changesets with 1 changes to 1 files (+1 heads) | |
323 | |
324 | |
325 Cheating the counting algorithm: | |
326 | |
327 $ hg -q up 9 | |
328 $ HGMERGE=true hg -q merge 2 | |
329 $ hg -q ci -m 11 | |
330 $ hg -q up 1 | |
331 $ echo 12 > foo | |
332 $ hg -q ci -m 12 | |
333 | |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
334 $ hg push -r 11 -r 12 ../f |
12279 | 335 pushing to ../f |
336 searching for changes | |
337 adding changesets | |
338 adding manifests | |
339 adding file changes | |
340 added 2 changesets with 2 changes to 1 files | |
341 | |
8565
268d16b2ec25
tests: add tests for new pre-push logic (issue736)
Sune Foldager <cryo@cyanite.org>
parents:
3923
diff
changeset
|
342 |
12279 | 343 Failed push of new named branch: |
344 | |
345 $ echo 12 > foo | |
346 $ hg -q ci -m 12a | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
347 [1] |
12279 | 348 $ hg -q up 11 |
349 $ echo 13 > foo | |
350 $ hg -q branch e | |
351 $ 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
|
352 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
353 $ hg push -r 12 -r 13 ../f |
12279 | 354 pushing to ../f |
355 searching for changes | |
356 abort: push creates new remote branches: e! | |
357 (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
|
358 [255] |
12279 | 359 |
360 | |
361 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
|
362 |
12365
22f3353bcc36
tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12328
diff
changeset
|
363 $ hg push --new-branch -r 12 -r 13 ../f |
12279 | 364 pushing to ../f |
365 searching for changes | |
366 adding changesets | |
367 adding manifests | |
368 adding file changes | |
369 added 1 changesets with 1 changes to 1 files | |
370 | |
21024
7731a2281cf0
spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents:
20501
diff
changeset
|
371 Pushing multi headed new branch: |
19840
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
372 |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
373 $ echo 14 > foo |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
374 $ hg -q branch f |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
375 $ hg -q ci -m 14 |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
376 $ echo 15 > foo |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
377 $ hg -q ci -m 15 |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
378 $ hg -q up 14 |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
379 $ echo 16 > foo |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
380 $ hg -q ci -m 16 |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
381 $ hg push --branch f --new-branch ../f |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
382 pushing to ../f |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
383 searching for changes |
20050
877e05b46509
discovery: tweak error message for multiple branch heads
Mads Kiilerich <madski@unity3d.com>
parents:
19936
diff
changeset
|
384 abort: push creates new branch 'f' with multiple heads |
19936
8179eb28983b
discovery: revise hint message introduced by changeset b00ba31313c3
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19934
diff
changeset
|
385 (merge or see "hg help push" for details about pushing new heads) |
19840
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
386 [255] |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
387 $ hg push --branch f --new-branch --force ../f |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
388 pushing to ../f |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
389 searching for changes |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
390 adding changesets |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
391 adding manifests |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
392 adding file changes |
b00ba31313c3
discovery: abort also when pushing multiple headed new branch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18361
diff
changeset
|
393 added 3 changesets with 3 changes to 1 files (+1 heads) |
11211
e43c23d189a5
push: add --new-branch option to allow intial push of new branches
Sune Foldager <cryo@cyanite.org>
parents:
10925
diff
changeset
|
394 |
12785
c7d23b4ca4ba
check-code: warning and fixes for whitespace in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12399
diff
changeset
|
395 Checking prepush logic does not allow silently pushing |
21198
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
396 multiple new heads but also doesn't report too many heads: |
12279 | 397 |
398 $ cd .. | |
399 $ hg init h | |
400 $ echo init > h/init | |
401 $ hg -R h ci -Am init | |
402 adding init | |
403 $ echo a > h/a | |
404 $ hg -R h ci -Am a | |
405 adding a | |
406 $ hg clone h i | |
407 updating to branch default | |
408 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
409 $ hg -R h up 0 | |
410 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
411 $ echo b > h/b | |
412 $ hg -R h ci -Am b | |
413 adding b | |
414 created new head | |
415 $ hg -R i up 0 | |
416 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
417 $ echo c > i/c | |
418 $ hg -R i ci -Am c | |
419 adding c | |
420 created new head | |
9479
f3569d95c2ab
push: fix subtle bug in prepush logic
Sune Foldager <cryo@cyanite.org>
parents:
8565
diff
changeset
|
421 |
24361
8de8cd34f2e3
tests: replace uses of 'seq' with portable 'seq.py'
Matt Harbison <matt_harbison@yahoo.com>
parents:
23748
diff
changeset
|
422 $ for i in `python $TESTDIR/seq.py 3`; do hg -R h up -q 0; echo $i > h/b; hg -R h ci -qAm$i; done |
21198
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
423 |
12279 | 424 $ hg -R i push h |
425 pushing to h | |
426 searching for changes | |
21198
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
427 remote has heads on branch 'default' that are not known locally: 534543e22c29 764f8ec07b96 afe7cc7679f5 ce4212fc8847 |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
428 abort: push creates new remote head 97bd0c84d346! |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
429 (pull and merge or see "hg help push" for details about pushing new heads) |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
430 [255] |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
431 $ hg -R h up -q 0; echo x > h/b; hg -R h ci -qAmx |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
432 $ hg -R i push h |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
433 pushing to h |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
434 searching for changes |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
435 remote has heads on branch 'default' that are not known locally: 18ddb72c4590 534543e22c29 764f8ec07b96 afe7cc7679f5 and 1 others |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
436 abort: push creates new remote head 97bd0c84d346! |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
437 (pull and merge or see "hg help push" for details about pushing new heads) |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
438 [255] |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
439 $ hg -R i push h -v |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
440 pushing to h |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
441 searching for changes |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
442 remote has heads on branch 'default' that are not known locally: 18ddb72c4590 534543e22c29 764f8ec07b96 afe7cc7679f5 ce4212fc8847 |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
443 new remote heads on branch 'default': |
56a04085c23c
discovery: don't report all "unsynced" remote heads (issue4230)
Mads Kiilerich <madski@unity3d.com>
parents:
21024
diff
changeset
|
444 97bd0c84d346 |
14525
826a13720fbc
prepush: print short hash of first new head in abort message
Adrian Buehlmann <adrian@cadifra.com>
parents:
14164
diff
changeset
|
445 abort: push creates new remote head 97bd0c84d346! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
446 (pull and merge or see "hg help push" for details about pushing new heads) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
447 [255] |
12279 | 448 |
449 | |
450 Check prepush logic with merged branches: | |
451 | |
452 $ hg init j | |
453 $ hg -R j branch a | |
454 marked working directory as branch a | |
15615 | 455 (branches are permanent and global, did you want a bookmark?) |
12279 | 456 $ echo init > j/foo |
457 $ hg -R j ci -Am init | |
458 adding foo | |
459 $ hg clone j k | |
460 updating to branch a | |
461 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
462 $ echo a1 > j/foo | |
463 $ hg -R j ci -m a1 | |
464 $ hg -R k branch b | |
465 marked working directory as branch b | |
15615 | 466 (branches are permanent and global, did you want a bookmark?) |
12279 | 467 $ echo b > k/foo |
468 $ hg -R k ci -m b | |
469 $ hg -R k up 0 | |
470 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
471 | |
472 $ hg -R k merge b | |
473 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
474 (branch merge, don't forget to commit) | |
475 | |
476 $ 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
|
477 |
12279 | 478 $ hg -R k push -r a j |
479 pushing to j | |
480 searching for changes | |
481 abort: push creates new remote branches: b! | |
482 (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
|
483 [255] |
12279 | 484 |
485 | |
486 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
|
487 |
12279 | 488 $ hg init l |
489 $ cd l | |
490 $ echo a >> foo | |
491 $ hg -q add foo | |
492 $ hg -q branch a | |
493 $ hg -q ci -ma | |
494 $ hg -q up null | |
495 $ echo a >> foo | |
496 $ hg -q add foo | |
497 $ hg -q branch b | |
498 $ hg -q ci -mb | |
499 $ cd .. | |
500 $ hg -q clone l m -u a | |
501 $ cd m | |
502 $ hg -q merge b | |
503 $ hg -q ci -mmb | |
504 $ hg -q up 0 | |
505 $ echo a >> foo | |
506 $ hg -q ci -ma2 | |
507 $ hg -q up 2 | |
508 $ echo a >> foo | |
509 $ hg -q branch -f b | |
510 $ hg -q ci -mb2 | |
511 $ hg -q merge 3 | |
512 $ hg -q ci -mma | |
513 | |
514 $ hg push ../l -b b | |
515 pushing to ../l | |
516 searching for changes | |
18361
06f075836010
discovery: process heads in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents:
17293
diff
changeset
|
517 abort: push creates new remote head 451211cc22b0 on branch 'a'! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
518 (merge or see "hg help push" for details about pushing new heads) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
519 [255] |
12279 | 520 |
521 $ cd .. | |
522 | |
523 | |
524 Check prepush with new branch head on former topo non-head: | |
525 | |
526 $ hg init n | |
527 $ cd n | |
528 $ hg branch A | |
529 marked working directory as branch A | |
15615 | 530 (branches are permanent and global, did you want a bookmark?) |
12279 | 531 $ echo a >a |
532 $ hg ci -Ama | |
533 adding a | |
534 $ hg branch B | |
535 marked working directory as branch B | |
15615 | 536 (branches are permanent and global, did you want a bookmark?) |
12279 | 537 $ echo b >b |
538 $ hg ci -Amb | |
539 adding b | |
540 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
541 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
|
542 a is now branch head of A, but not a topological head |
12279 | 543 |
544 $ hg clone . inner | |
545 updating to branch B | |
546 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
547 $ cd inner | |
548 $ hg up B | |
549 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
550 $ echo b1 >b1 | |
551 $ hg ci -Amb1 | |
552 adding b1 | |
553 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
554 in the clone b1 is now the head of B |
12279 | 555 |
556 $ cd .. | |
557 $ hg up 0 | |
558 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
559 $ echo a2 >a2 | |
560 $ hg ci -Ama2 | |
561 adding a2 | |
562 | |
12785
c7d23b4ca4ba
check-code: warning and fixes for whitespace in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12399
diff
changeset
|
563 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
|
564 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
|
565 A, not B |
12279 | 566 |
567 glog of local: | |
568 | |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
20051
diff
changeset
|
569 $ hg log -G --template "{rev}: {branches} {desc}\n" |
12279 | 570 @ 2: A a2 |
571 | | |
572 | o 1: B b | |
573 |/ | |
574 o 0: A a | |
575 | |
576 glog of remote: | |
577 | |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
20051
diff
changeset
|
578 $ hg log -G -R inner --template "{rev}: {branches} {desc}\n" |
12279 | 579 @ 2: B b1 |
580 | | |
581 o 1: B b | |
582 | | |
583 o 0: A a | |
584 | |
585 outgoing: | |
586 | |
587 $ hg out inner --template "{rev}: {branches} {desc}\n" | |
588 comparing with inner | |
589 searching for changes | |
590 2: A a2 | |
591 | |
592 $ hg push inner | |
593 pushing to inner | |
594 searching for changes | |
595 adding changesets | |
596 adding manifests | |
597 adding file changes | |
598 added 1 changesets with 1 changes to 1 files (+1 heads) | |
599 | |
600 $ cd .. | |
601 | |
602 | |
603 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
|
604 |
12279 | 605 $ hg init o |
606 $ cd o | |
607 $ hg branch A | |
608 marked working directory as branch A | |
15615 | 609 (branches are permanent and global, did you want a bookmark?) |
12279 | 610 $ echo a >a |
611 $ hg ci -Ama | |
612 adding a | |
613 $ hg branch B | |
614 marked working directory as branch B | |
15615 | 615 (branches are permanent and global, did you want a bookmark?) |
12279 | 616 $ echo b >b |
617 $ hg ci -Amb | |
618 adding b | |
619 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
620 b is now branch head of B, and a topological head |
12279 | 621 |
622 $ hg up 0 | |
623 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
624 $ echo a1 >a1 | |
625 $ hg ci -Ama1 | |
626 adding a1 | |
627 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
628 a1 is now branch head of A, and a topological head |
12279 | 629 |
630 $ hg clone . inner | |
631 updating to branch A | |
632 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
633 $ cd inner | |
634 $ hg up B | |
635 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
636 $ echo b1 >b1 | |
637 $ hg ci -Amb1 | |
638 adding b1 | |
639 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
640 in the clone b1 is now the head of B |
12279 | 641 |
642 $ cd .. | |
643 $ echo a2 >a2 | |
644 $ hg ci -Ama2 | |
645 adding a2 | |
646 | |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
647 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
|
648 it replaces a former topological and branch head, so this should not warn |
12279 | 649 |
650 glog of local: | |
651 | |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
20051
diff
changeset
|
652 $ hg log -G --template "{rev}: {branches} {desc}\n" |
12279 | 653 @ 3: A a2 |
654 | | |
655 o 2: A a1 | |
656 | | |
657 | o 1: B b | |
658 |/ | |
659 o 0: A a | |
660 | |
661 glog of remote: | |
662 | |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
20051
diff
changeset
|
663 $ hg log -G -R inner --template "{rev}: {branches} {desc}\n" |
12279 | 664 @ 3: B b1 |
665 | | |
666 | o 2: A a1 | |
667 | | | |
668 o | 1: B b | |
669 |/ | |
670 o 0: A a | |
671 | |
672 outgoing: | |
673 | |
674 $ hg out inner --template "{rev}: {branches} {desc}\n" | |
675 comparing with inner | |
676 searching for changes | |
677 3: A a2 | |
678 | |
679 $ hg push inner | |
680 pushing to inner | |
681 searching for changes | |
682 adding changesets | |
683 adding manifests | |
684 adding file changes | |
685 added 1 changesets with 1 changes to 1 files | |
686 | |
687 $ cd .. | |
688 | |
689 | |
690 Check prepush with new branch head and new child of former branch head | |
691 but child is on different branch: | |
692 | |
693 $ hg init p | |
694 $ cd p | |
695 $ hg branch A | |
696 marked working directory as branch A | |
15615 | 697 (branches are permanent and global, did you want a bookmark?) |
12279 | 698 $ echo a0 >a |
699 $ hg ci -Ama0 | |
700 adding a | |
701 $ echo a1 >a | |
702 $ hg ci -ma1 | |
703 $ hg up null | |
704 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
705 $ hg branch B | |
706 marked working directory as branch B | |
15615 | 707 (branches are permanent and global, did you want a bookmark?) |
12279 | 708 $ echo b0 >b |
709 $ hg ci -Amb0 | |
710 adding b | |
711 $ echo b1 >b | |
712 $ hg ci -mb1 | |
713 | |
714 $ hg clone . inner | |
715 updating to branch B | |
716 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
|
717 |
12279 | 718 $ hg up A |
719 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
720 $ hg branch -f B | |
721 marked working directory as branch B | |
15615 | 722 (branches are permanent and global, did you want a bookmark?) |
12279 | 723 $ echo a3 >a |
724 $ hg ci -ma3 | |
725 created new head | |
726 $ hg up 3 | |
727 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
728 $ hg branch -f A | |
729 marked working directory as branch A | |
15615 | 730 (branches are permanent and global, did you want a bookmark?) |
12279 | 731 $ echo b3 >b |
732 $ hg ci -mb3 | |
733 created new head | |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
734 |
12279 | 735 glog of local: |
736 | |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
20051
diff
changeset
|
737 $ hg log -G --template "{rev}: {branches} {desc}\n" |
12279 | 738 @ 5: A b3 |
739 | | |
740 | o 4: B a3 | |
741 | | | |
742 o | 3: B b1 | |
743 | | | |
744 o | 2: B b0 | |
745 / | |
746 o 1: A a1 | |
747 | | |
748 o 0: A a0 | |
749 | |
750 glog of remote: | |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
751 |
20117
aa9385f983fa
tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents:
20051
diff
changeset
|
752 $ hg log -G -R inner --template "{rev}: {branches} {desc}\n" |
12279 | 753 @ 3: B b1 |
754 | | |
755 o 2: B b0 | |
756 | |
757 o 1: A a1 | |
758 | | |
759 o 0: A a0 | |
760 | |
761 outgoing: | |
762 | |
763 $ hg out inner --template "{rev}: {branches} {desc}\n" | |
764 comparing with inner | |
765 searching for changes | |
766 4: B a3 | |
767 5: A b3 | |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
768 |
12279 | 769 $ hg push inner |
770 pushing to inner | |
771 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
|
772 abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
773 (merge or see "hg help push" for details about pushing new heads) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
774 [255] |
10909
29a83fb8c067
prepush: add more test cases
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10908
diff
changeset
|
775 |
12279 | 776 $ hg push inner -r4 -r5 |
777 pushing to inner | |
778 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
|
779 abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'! |
19934
bfc6ed892349
push: hide description about "-f" in the hint to prevent from using it easily
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19840
diff
changeset
|
780 (merge or see "hg help push" for details about pushing new heads) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
781 [255] |
12279 | 782 |
783 $ hg in inner | |
784 comparing with inner | |
785 searching for changes | |
786 no changes found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
787 [1] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16023
diff
changeset
|
788 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16023
diff
changeset
|
789 $ cd .. |