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