Mercurial > hg
annotate tests/test-newbranch.t @ 12664:545ec1775021
merge: handle no file parent in backwards merge (issue2364)
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 09 Oct 2010 14:50:20 -0500 |
parents | 4134686b83e1 |
children | 9e7e24052745 |
rev | line source |
---|---|
12279 | 1 $ branchcache=.hg/branchheads.cache |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
12279 | 3 $ hg init t |
4 $ cd t | |
6160
3ee3bc5d06c5
tests: hide the name of the branch cache file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5988
diff
changeset
|
5 |
12279 | 6 $ hg branches |
7 $ echo foo > a | |
8 $ hg add a | |
9 $ hg ci -m "initial" | |
10 $ hg branch foo | |
11 marked working directory as branch foo | |
12 $ hg branch | |
13 foo | |
14 $ hg ci -m "add branch name" | |
15 $ hg branch bar | |
16 marked working directory as branch bar | |
17 $ hg ci -m "change branch name" | |
18 | |
19 Branch shadowing: | |
20 | |
21 $ hg branch default | |
22 abort: a branch of the same name already exists (use 'hg update' to switch to it) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
23 [255] |
12279 | 24 |
25 $ hg branch -f default | |
26 marked working directory as branch default | |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
27 |
12279 | 28 $ hg ci -m "clear branch name" |
29 created new head | |
30 | |
31 There should be only one default branch head | |
32 | |
33 $ hg heads . | |
34 changeset: 3:9d567d0b51f9 | |
35 tag: tip | |
36 user: test | |
37 date: Thu Jan 01 00:00:00 1970 +0000 | |
38 summary: clear branch name | |
39 | |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
40 |
12279 | 41 $ hg co foo |
42 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
43 $ hg branch | |
44 foo | |
45 $ echo bleah > a | |
46 $ hg ci -m "modify a branch" | |
47 | |
48 $ hg merge default | |
49 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
50 (branch merge, don't forget to commit) | |
51 | |
52 $ hg branch | |
53 foo | |
54 $ hg ci -m "merge" | |
8954
e67e5b60e55f
Branch heads should not include "heads" that are ancestors of other heads.
Brendan Cully <brendan@kublai.com>
parents:
7654
diff
changeset
|
55 |
12279 | 56 $ hg log |
57 changeset: 5:dc140083783b | |
58 branch: foo | |
59 tag: tip | |
60 parent: 4:98d14f698afe | |
61 parent: 3:9d567d0b51f9 | |
62 user: test | |
63 date: Thu Jan 01 00:00:00 1970 +0000 | |
64 summary: merge | |
65 | |
66 changeset: 4:98d14f698afe | |
67 branch: foo | |
68 parent: 1:0079f24813e2 | |
69 user: test | |
70 date: Thu Jan 01 00:00:00 1970 +0000 | |
71 summary: modify a branch | |
72 | |
73 changeset: 3:9d567d0b51f9 | |
74 user: test | |
75 date: Thu Jan 01 00:00:00 1970 +0000 | |
76 summary: clear branch name | |
77 | |
78 changeset: 2:ed2bbf4e0102 | |
79 branch: bar | |
80 user: test | |
81 date: Thu Jan 01 00:00:00 1970 +0000 | |
82 summary: change branch name | |
83 | |
84 changeset: 1:0079f24813e2 | |
85 branch: foo | |
86 user: test | |
87 date: Thu Jan 01 00:00:00 1970 +0000 | |
88 summary: add branch name | |
89 | |
90 changeset: 0:db01e8ea3388 | |
91 user: test | |
92 date: Thu Jan 01 00:00:00 1970 +0000 | |
93 summary: initial | |
94 | |
95 $ hg branches | |
96 foo 5:dc140083783b | |
97 default 3:9d567d0b51f9 (inactive) | |
98 bar 2:ed2bbf4e0102 (inactive) | |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
99 |
12279 | 100 $ hg branches -q |
101 foo | |
102 default | |
103 bar | |
3420
2576b6731524
Add some basic branch name tests
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
104 |
12279 | 105 Test for invalid branch cache: |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3451
diff
changeset
|
106 |
12279 | 107 $ hg rollback |
108 rolling back to revision 4 (undo commit) | |
109 | |
110 $ cp $branchcache .hg/bc-invalid | |
111 | |
112 $ hg log -r foo | |
113 changeset: 4:98d14f698afe | |
114 branch: foo | |
115 tag: tip | |
116 parent: 1:0079f24813e2 | |
117 user: test | |
118 date: Thu Jan 01 00:00:00 1970 +0000 | |
119 summary: modify a branch | |
120 | |
121 $ cp .hg/bc-invalid $branchcache | |
4175
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
122 |
12279 | 123 $ hg --debug log -r foo |
124 invalidating branch cache (tip differs) | |
125 changeset: 4:98d14f698afeaff8cb612dcf215ce95e639effc3 | |
126 branch: foo | |
127 tag: tip | |
128 parent: 1:0079f24813e2b73a891577c243684c5066347bc8 | |
129 parent: -1:0000000000000000000000000000000000000000 | |
130 manifest: 4:d01b250baaa05909152f7ae07d7a649deea0df9a | |
131 user: test | |
132 date: Thu Jan 01 00:00:00 1970 +0000 | |
133 files: a | |
134 extra: branch=foo | |
135 description: | |
136 modify a branch | |
137 | |
138 | |
139 $ rm $branchcache | |
140 $ echo corrupted > $branchcache | |
141 | |
142 $ hg log -qr foo | |
143 4:98d14f698afe | |
144 | |
145 $ cat $branchcache | |
146 98d14f698afeaff8cb612dcf215ce95e639effc3 4 | |
147 9d567d0b51f9e2068b054e1948e1a927f99b5874 default | |
148 98d14f698afeaff8cb612dcf215ce95e639effc3 foo | |
149 ed2bbf4e01029020711be82ca905283e883f0e11 bar | |
150 | |
151 Push should update the branch cache: | |
152 | |
153 $ hg init ../target | |
154 | |
155 Pushing just rev 0: | |
156 | |
157 $ hg push -qr 0 ../target | |
5988
ee317dbfb9d0
update the branch cache at the end of addchangegroup
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4410
diff
changeset
|
158 |
12279 | 159 $ cat ../target/$branchcache |
160 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 0 | |
161 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 default | |
162 | |
163 Pushing everything: | |
164 | |
165 $ hg push -qf ../target | |
166 | |
167 $ cat ../target/$branchcache | |
168 98d14f698afeaff8cb612dcf215ce95e639effc3 4 | |
169 9d567d0b51f9e2068b054e1948e1a927f99b5874 default | |
170 98d14f698afeaff8cb612dcf215ce95e639effc3 foo | |
171 ed2bbf4e01029020711be82ca905283e883f0e11 bar | |
172 | |
173 Update with no arguments: tipmost revision of the current branch: | |
174 | |
175 $ hg up -q -C 0 | |
176 $ hg up -q | |
177 $ hg id | |
178 9d567d0b51f9 | |
179 | |
180 $ hg up -q 1 | |
181 $ hg up -q | |
182 $ hg id | |
183 98d14f698afe (foo) tip | |
184 | |
185 $ hg branch foobar | |
186 marked working directory as branch foobar | |
187 | |
188 $ hg up | |
189 abort: branch foobar not found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
190 [255] |
12279 | 191 |
192 Fastforward merge: | |
193 | |
194 $ hg branch ff | |
195 marked working directory as branch ff | |
4231
83153299aab5
avoid a traceback with hg branch newbranch; hg up
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4179
diff
changeset
|
196 |
12279 | 197 $ echo ff > ff |
198 $ hg ci -Am'fast forward' | |
199 adding ff | |
200 | |
201 $ hg up foo | |
202 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
203 | |
204 $ hg merge ff | |
205 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
206 (branch merge, don't forget to commit) | |
4410
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
207 |
12279 | 208 $ hg branch |
209 foo | |
210 $ hg commit -m'Merge ff into foo' | |
211 $ hg parents | |
212 changeset: 6:917eb54e1b4b | |
213 branch: foo | |
214 tag: tip | |
215 parent: 4:98d14f698afe | |
216 parent: 5:6683a60370cb | |
217 user: test | |
218 date: Thu Jan 01 00:00:00 1970 +0000 | |
219 summary: Merge ff into foo | |
220 | |
221 $ hg manifest | |
222 a | |
223 ff | |
224 | |
225 | |
226 Test merging, add 3 default heads and one test head: | |
227 | |
228 $ cd .. | |
229 $ hg init merges | |
230 $ cd merges | |
231 $ echo a > a | |
232 $ hg ci -Ama | |
233 adding a | |
234 | |
235 $ echo b > b | |
236 $ hg ci -Amb | |
237 adding b | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
238 |
12279 | 239 $ hg up 0 |
240 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
241 $ echo c > c | |
242 $ hg ci -Amc | |
243 adding c | |
244 created new head | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
245 |
12279 | 246 $ hg up 0 |
247 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
248 $ echo d > d | |
249 $ hg ci -Amd | |
250 adding d | |
251 created new head | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
252 |
12279 | 253 $ hg up 0 |
254 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
255 $ hg branch test | |
256 marked working directory as branch test | |
257 $ echo e >> e | |
258 $ hg ci -Ame | |
259 adding e | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
260 |
12279 | 261 $ hg log |
262 changeset: 4:3a1e01ed1df4 | |
263 branch: test | |
264 tag: tip | |
265 parent: 0:cb9a9f314b8b | |
266 user: test | |
267 date: Thu Jan 01 00:00:00 1970 +0000 | |
268 summary: e | |
269 | |
270 changeset: 3:980f7dc84c29 | |
271 parent: 0:cb9a9f314b8b | |
272 user: test | |
273 date: Thu Jan 01 00:00:00 1970 +0000 | |
274 summary: d | |
275 | |
276 changeset: 2:d36c0562f908 | |
277 parent: 0:cb9a9f314b8b | |
278 user: test | |
279 date: Thu Jan 01 00:00:00 1970 +0000 | |
280 summary: c | |
281 | |
282 changeset: 1:d2ae7f538514 | |
283 user: test | |
284 date: Thu Jan 01 00:00:00 1970 +0000 | |
285 summary: b | |
286 | |
287 changeset: 0:cb9a9f314b8b | |
288 user: test | |
289 date: Thu Jan 01 00:00:00 1970 +0000 | |
290 summary: a | |
291 | |
292 Implicit merge with test branch as parent: | |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6160
diff
changeset
|
293 |
12279 | 294 $ hg merge |
295 abort: branch 'test' has one head - please merge with an explicit rev | |
296 (run 'hg heads' to see all heads) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
297 [255] |
12279 | 298 $ hg up -C default |
299 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
300 | |
301 Implicit merge with default branch as parent: | |
302 | |
303 $ hg merge | |
304 abort: branch 'default' has 3 heads - please merge with an explicit rev | |
305 (run 'hg heads .' to see heads) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
306 [255] |
12279 | 307 |
308 3 branch heads, explicit merge required: | |
309 | |
310 $ hg merge 2 | |
311 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
312 (branch merge, don't forget to commit) | |
313 $ hg ci -m merge | |
314 | |
315 2 branch heads, implicit merge works: | |
316 | |
317 $ hg merge | |
318 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
319 (branch merge, don't forget to commit) | |
320 |