Mercurial > hg
view tests/test-resolve.t @ 22040:122fa73657c6
shelve: do not retract phase boundary by hand
We rely on the internal mechanism to commit the changeset in the right state.
This is similar to what the mq extension is doing.
This is an important change as we plan to move phase movement with the
transaction. Avoiding phase movement from high level code will avoid them the
burden of transaction handling. It is also important to limit the need for
transaction handling as this limits the odds of people messing up. Most common
expected mess-up is to use a different transaction for changesets creation and
phase adjustment.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 05 Aug 2014 14:37:45 -0700 |
parents | b081decd9062 |
children | dfad19274d85 |
line wrap: on
line source
test that a commit clears the merge state. $ hg init repo $ cd repo $ echo foo > file $ hg commit -Am 'add file' adding file $ echo bar >> file $ hg commit -Am 'append bar' create a second head $ hg up -C 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo baz >> file $ hg commit -Am 'append baz' created new head failing merge $ hg merge --tool=internal:fail 0 files updated, 0 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] resolve -l should contain an unresolved entry $ hg resolve -l U file resolving an unknown path emits a warning $ hg resolve -m does-not-exist arguments do not match paths that need resolving resolve the failure $ echo resolved > file $ hg resolve -m file (no more unresolved files) $ hg commit -m 'resolved' resolve -l should be empty $ hg resolve -l resolve -m should abort since no merge in progress $ hg resolve -m abort: resolve command not applicable when not merging [255] test crashed merge with empty mergestate $ mkdir .hg/merge $ touch .hg/merge/state resolve -l, should be empty $ hg resolve -l $ cd ..