Mercurial > hg
view tests/test-resolve.t @ 22913:cb4449921a1d
status: create class for status lists
Callers of various status() methods (on dirstate, context, repo) get a
tuple of 7 elements, where each element is a list of files. This
results in lots of uses of indexes where names would be much more
readable. For example, "status.ignored" seems clearer than "status[4]"
[1]. So, let's introduce a simple named tuple containing the 7 status
fields: modified, added, removed, deleted, unknown, ignored, clean.
This patch introduces the class and updates the status methods to
return instances of it. Later patches will update the callers.
[1] Did you even notice that it should have been "status[5]"?
(tweaked by mpm to introduce the class in scmutil and only change one user)
author | Martin von Zweigbergk <martinvonz@gmail.com> |
---|---|
date | Fri, 10 Oct 2014 14:32:36 -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 ..