Mercurial > hg
annotate tests/test-newbranch.t @ 13526:8ac1260941c0 stable
bookmark: fix invalidation of localrepo._bookmarkcurrent
author | Steve Borho <steve@borho.org> |
---|---|
date | Wed, 02 Mar 2011 21:57:20 -0600 |
parents | 053c042118bc |
children | 1792b8a9422b |
rev | line source |
---|---|
13272
5ccdca7df211
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents:
13158
diff
changeset
|
1 $ branchcache=.hg/cache/branchheads |
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 |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13272
diff
changeset
|
108 repository tip rolled back to revision 4 (undo commit) |
13455
053c042118bc
rollback, i18n: avoid parameterized message
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
13446
diff
changeset
|
109 working directory now based on revisions 4 and 3 |
12279 | 110 |
111 $ cp $branchcache .hg/bc-invalid | |
112 | |
113 $ hg log -r foo | |
114 changeset: 4:98d14f698afe | |
115 branch: foo | |
116 tag: tip | |
117 parent: 1:0079f24813e2 | |
118 user: test | |
119 date: Thu Jan 01 00:00:00 1970 +0000 | |
120 summary: modify a branch | |
121 | |
122 $ cp .hg/bc-invalid $branchcache | |
4175
fc12ac3755d5
Test update to branch tip
Brendan Cully <brendan@kublai.com>
parents:
4169
diff
changeset
|
123 |
12279 | 124 $ hg --debug log -r foo |
125 invalidating branch cache (tip differs) | |
126 changeset: 4:98d14f698afeaff8cb612dcf215ce95e639effc3 | |
127 branch: foo | |
128 tag: tip | |
129 parent: 1:0079f24813e2b73a891577c243684c5066347bc8 | |
130 parent: -1:0000000000000000000000000000000000000000 | |
131 manifest: 4:d01b250baaa05909152f7ae07d7a649deea0df9a | |
132 user: test | |
133 date: Thu Jan 01 00:00:00 1970 +0000 | |
134 files: a | |
135 extra: branch=foo | |
136 description: | |
137 modify a branch | |
138 | |
139 | |
140 $ rm $branchcache | |
141 $ echo corrupted > $branchcache | |
142 | |
143 $ hg log -qr foo | |
144 4:98d14f698afe | |
145 | |
146 $ cat $branchcache | |
147 98d14f698afeaff8cb612dcf215ce95e639effc3 4 | |
148 9d567d0b51f9e2068b054e1948e1a927f99b5874 default | |
149 98d14f698afeaff8cb612dcf215ce95e639effc3 foo | |
150 ed2bbf4e01029020711be82ca905283e883f0e11 bar | |
151 | |
152 Push should update the branch cache: | |
153 | |
154 $ hg init ../target | |
155 | |
156 Pushing just rev 0: | |
157 | |
158 $ 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
|
159 |
12279 | 160 $ cat ../target/$branchcache |
161 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 0 | |
162 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 default | |
163 | |
164 Pushing everything: | |
165 | |
166 $ hg push -qf ../target | |
167 | |
168 $ cat ../target/$branchcache | |
169 98d14f698afeaff8cb612dcf215ce95e639effc3 4 | |
170 9d567d0b51f9e2068b054e1948e1a927f99b5874 default | |
171 98d14f698afeaff8cb612dcf215ce95e639effc3 foo | |
172 ed2bbf4e01029020711be82ca905283e883f0e11 bar | |
173 | |
174 Update with no arguments: tipmost revision of the current branch: | |
175 | |
176 $ hg up -q -C 0 | |
177 $ hg up -q | |
178 $ hg id | |
179 9d567d0b51f9 | |
180 | |
181 $ hg up -q 1 | |
182 $ hg up -q | |
183 $ hg id | |
184 98d14f698afe (foo) tip | |
185 | |
186 $ hg branch foobar | |
187 marked working directory as branch foobar | |
188 | |
189 $ hg up | |
190 abort: branch foobar not found | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
191 [255] |
12279 | 192 |
193 Fastforward merge: | |
194 | |
195 $ hg branch ff | |
196 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
|
197 |
12279 | 198 $ echo ff > ff |
199 $ hg ci -Am'fast forward' | |
200 adding ff | |
201 | |
202 $ hg up foo | |
203 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
204 | |
205 $ hg merge ff | |
206 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
207 (branch merge, don't forget to commit) | |
4410
bbc97d419b16
Add fast-forward branch merging
Brendan Cully <brendan@kublai.com>
parents:
4232
diff
changeset
|
208 |
12279 | 209 $ hg branch |
210 foo | |
211 $ hg commit -m'Merge ff into foo' | |
13158
9e7e24052745
merge: fast-forward merge with descendant
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
212 created new head |
12279 | 213 $ hg parents |
13158
9e7e24052745
merge: fast-forward merge with descendant
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
214 changeset: 6:6af8030670c9 |
12279 | 215 branch: foo |
216 tag: tip | |
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 |