# HG changeset patch # User Matt Mackall # Date 2009-03-16 21:58:41 # Node ID 89e05c02a4afbacd425639a9bbf33e1d33a071b2 # Parent 30cb79d843529a62c36d45c14b009d6d1d075720 resolve: move reset to localrepo.commit This way rebase doesn't leave a stale resolve state diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -645,9 +645,6 @@ def commit(ui, repo, *pats, **opts): elif ui.verbose: ui.write(_('committed changeset %d:%s\n') % (rev,short(node))) - ms = merge_.mergestate(repo) - ms.reset(node) - def copy(ui, repo, *pats, **opts): """mark files as copied for the next commit diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -824,8 +824,11 @@ class localrepository(repo.repository): "(see hg resolve)")) wctx = context.workingctx(self, (p1, p2), text, user, date, extra, changes) - return self._commitctx(wctx, force, force_editor, empty_ok, - use_dirstate, update_dirstate) + r = self._commitctx(wctx, force, force_editor, empty_ok, + use_dirstate, update_dirstate) + ms.reset() + return r + finally: del lock, wlock diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -14,9 +14,10 @@ class mergestate(object): def __init__(self, repo): self._repo = repo self._read() - def reset(self, node): + def reset(self, node=None): self._state = {} - self._local = node + if node: + self._local = node shutil.rmtree(self._repo.join("merge"), True) def _read(self): self._state = {}