Mercurial > hg
view tests/test-confused-revert.t @ 26677:e9b3d523f2e6
rebase: properly abort when destination is public (issue4896)
After rebasing a set of changes onto a public changeset and having the first one
be skipped, if you try to abort, the operation fails. This fix adds a check to
disallow the target rev into the dstates list within the abort function. This
list is checked for immutable states before the rest of abort does its thing.
author | Christian Delahousse <cdelahousse@fb.com> |
---|---|
date | Tue, 13 Oct 2015 14:06:51 -0700 |
parents | a934b9249574 |
children | fc1d75e7a98d |
line wrap: on
line source
$ hg init $ echo foo > a $ hg add a $ hg commit -m "1" $ echo bar > b $ hg add b $ hg remove a Should show a removed and b added: $ hg status A b R a $ hg revert --all undeleting a forgetting b Should show b unknown and a back to normal: $ hg status ? b $ rm b $ hg co -C 0 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo foo-a > a $ hg commit -m "2a" $ hg co -C 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo foo-b > a $ hg commit -m "2b" created new head $ HGMERGE=true hg merge 1 merging a 0 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) Should show foo-b: $ cat a foo-b $ echo bar > b $ hg add b $ rm a $ hg remove a Should show a removed and b added: $ hg status A b R a Revert should fail: $ hg revert abort: uncommitted merge with no revision specified (use "hg update" or see "hg help revert") [255] Revert should be ok now: $ hg revert -r2 --all undeleting a forgetting b Should show b unknown and a marked modified (merged): $ hg status M a ? b Should show foo-b: $ cat a foo-b