Mercurial > hg-stable
comparison tests/test-rebase-obsolete.t @ 34108:15ec3119d500
rebase: use unfiltered repo when loading state
Before this patch, `rebase --abort` may fail to do the cleanup:
$ hg rebase --abort
rebase aborted (no revision is removed, only broken state is cleared)
The added test case makes sure `--abort` works in this case.
Differential Revision: https://phab.mercurial-scm.org/D643
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 06 Sep 2017 15:23:19 -0700 |
parents | 8a8e7a94ba07 |
children | ecc96506c49d |
comparison
equal
deleted
inserted
replaced
34107:8a8e7a94ba07 | 34108:15ec3119d500 |
---|---|
1299 | | | 1299 | | |
1300 o | 1:96cc3511f894 C | 1300 o | 1:96cc3511f894 C |
1301 / | 1301 / |
1302 o 0:426bada5c675 A | 1302 o 0:426bada5c675 A |
1303 | 1303 |
1304 For some reasons (--hidden, rebaseskipobsolete=0, directaccess, etc.), | |
1305 rebasestate may contain hidden hashes. "rebase --abort" should work regardless. | |
1306 | |
1307 $ hg init $TESTTMP/hidden-state1 | |
1308 $ cd $TESTTMP/hidden-state1 | |
1309 $ cat >> .hg/hgrc <<EOF | |
1310 > [experimental] | |
1311 > rebaseskipobsolete=0 | |
1312 > EOF | |
1313 | |
1314 $ hg debugdrawdag <<'EOS' | |
1315 > C | |
1316 > | | |
1317 > D B # prune: B, C | |
1318 > |/ # B/D=B | |
1319 > A | |
1320 > EOS | |
1321 | |
1322 $ eval `hg tags -T '{tag}={node}\n'` | |
1323 $ rm .hg/localtags | |
1324 | |
1325 $ hg update -q $C --hidden | |
1326 $ hg rebase -s $B -d $D | |
1327 rebasing 1:2ec65233581b "B" | |
1328 merging D | |
1329 warning: conflicts while merging D! (edit, then use 'hg resolve --mark') | |
1330 unresolved conflicts (see hg resolve, then hg rebase --continue) | |
1331 [1] | |
1332 | |
1333 $ cp -R . $TESTTMP/hidden-state2 | |
1334 | |
1335 $ hg log -G | |
1336 @ 2:b18e25de2cf5 D | |
1337 | | |
1338 | @ 1:2ec65233581b B | |
1339 |/ | |
1340 o 0:426bada5c675 A | |
1341 | |
1342 $ hg summary | |
1343 parent: 2:b18e25de2cf5 tip | |
1344 D | |
1345 parent: 1:2ec65233581b (obsolete) | |
1346 B | |
1347 branch: default | |
1348 commit: 2 modified, 1 unknown, 1 unresolved (merge) | |
1349 update: (current) | |
1350 phases: 3 draft | |
1351 rebase: 0 rebased, 2 remaining (rebase --continue) | |
1352 | |
1353 $ hg rebase --abort | |
1354 rebase aborted | |
1355 | |
1356 Also test --continue for the above case | |
1357 | |
1358 $ cd $TESTTMP/hidden-state2 | |
1359 $ hg resolve -m | |
1360 (no more unresolved files) | |
1361 continue: hg rebase --continue | |
1362 $ hg rebase --continue | |
1363 rebasing 1:2ec65233581b "B" | |
1364 rebasing 3:7829726be4dc "C" (tip) | |
1365 $ hg log -G | |
1366 @ 5:1964d5d5b547 C | |
1367 | | |
1368 o 4:68deb90c12a2 B | |
1369 | | |
1370 o 2:b18e25de2cf5 D | |
1371 | | |
1372 o 0:426bada5c675 A | |
1373 |