# HG changeset patch # User Pierre-Yves David # Date 2021-09-29 16:37:20 # Node ID e8d6261513b99ea73c12ef3da8900d79d17bf430 # Parent 8f452fecd0a48104d666ec234be29e9ec60593d6 dirstate-item: use item's property instead of `state` in revert Differential Revision: https://phab.mercurial-scm.org/D11541 diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -3352,7 +3352,11 @@ def revert(ui, repo, ctx, *pats, **opts) for f in localchanges: src = repo.dirstate.copied(f) # XXX should we check for rename down to target node? - if src and src not in names and repo.dirstate[src] == b'r': + if ( + src + and src not in names + and repo.dirstate.get_entry(src).removed + ): dsremoved.add(src) names[src] = True @@ -3366,12 +3370,12 @@ def revert(ui, repo, ctx, *pats, **opts) # distinguish between file to forget and the other added = set() for abs in dsadded: - if repo.dirstate[abs] != b'a': + if not repo.dirstate.get_entry(abs).added: added.add(abs) dsadded -= added for abs in deladded: - if repo.dirstate[abs] == b'a': + if repo.dirstate.get_entry(abs).added: dsadded.add(abs) deladded -= dsadded