Mercurial > hg-stable
changeset 32386:f4aee989ebec
mq: migrate to context manager for changing dirstate parents
author | Augie Fackler <augie@google.com> |
---|---|
date | Thu, 18 May 2017 17:10:53 -0400 |
parents | 73e67c4386ec |
children | 082fc4abdc31 |
files | hgext/mq.py |
diffstat | 1 files changed, 16 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Thu May 18 17:10:30 2017 -0400 +++ b/hgext/mq.py Thu May 18 17:10:53 2017 -0400 @@ -932,14 +932,13 @@ merged.append(f) else: removed.append(f) - repo.dirstate.beginparentchange() - for f in removed: - repo.dirstate.remove(f) - for f in merged: - repo.dirstate.merge(f) - p1, p2 = repo.dirstate.parents() - repo.setparents(p1, merge) - repo.dirstate.endparentchange() + with repo.dirstate.parentchange(): + for f in removed: + repo.dirstate.remove(f) + for f in merged: + repo.dirstate.merge(f) + p1, p2 = repo.dirstate.parents() + repo.setparents(p1, merge) if all_files and '.hgsubstate' in all_files: wctx = repo[None] @@ -1580,16 +1579,15 @@ if keepchanges and tobackup: raise error.Abort(_("local changes found, qrefresh first")) self.backup(repo, tobackup) - repo.dirstate.beginparentchange() - for f in a: - repo.wvfs.unlinkpath(f, ignoremissing=True) - repo.dirstate.drop(f) - for f in m + r: - fctx = ctx[f] - repo.wwrite(f, fctx.data(), fctx.flags()) - repo.dirstate.normal(f) - repo.setparents(qp, nullid) - repo.dirstate.endparentchange() + with repo.dirstate.parentchange(): + for f in a: + repo.wvfs.unlinkpath(f, ignoremissing=True) + repo.dirstate.drop(f) + for f in m + r: + fctx = ctx[f] + repo.wwrite(f, fctx.data(), fctx.flags()) + repo.dirstate.normal(f) + repo.setparents(qp, nullid) for patch in reversed(self.applied[start:end]): self.ui.status(_("popping %s\n") % patch.name) del self.applied[start:end]