From patchwork Tue May 6 23:33:23 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6,of,8] context: add private _dirstatestatus method From: Sean Farley X-Patchwork-Id: 4651 Message-Id: To: mercurial-devel@selenic.com Date: Tue, 06 May 2014 18:33:23 -0500 # HG changeset patch # User Sean Farley # Date 1398190491 18000 # Tue Apr 22 13:14:51 2014 -0500 # Node ID d556bbc7a4a12f0c644be280a95c649f0d113437 # Parent 2bb99e94978f9da3a6eb50bbddcbbfec28f399a1 context: add private _dirstatestatus method This method is mostly a copy from workingctx.status. The custom status method of workingctx will eventually be absorbed by the refactoring of localrepo.status to context.status but unfortunately we can't do it in one step. diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1213,10 +1213,33 @@ class workingctx(committablectx): wlock.release() except error.LockError: pass return modified, fixup + def _dirstatestatus(self, match=None, ignored=False, clean=False, + unknown=False): + '''Gets the status from the dirstate -- internal use only.''' + listignored, listclean, listunknown = ignored, clean, unknown + match = match or matchmod.always(self._repo.root, self._repo.getcwd()) + subrepos = [] + if '.hgsub' in self: + subrepos = sorted(self.substate) + s = self._repo.dirstate.status(match, subrepos, listignored, + listclean, listunknown) + cmp, modified, added, removed, deleted, unknown, ignored, clean = s + + # check for any possibly clean files + if cmp: + modified2, fixup = self._checklookup(cmp) + modified += modified2 + + # update dirstate for files that are actually clean + if fixup and listclean: + clean += fixup + + return [modified, added, removed, deleted, unknown, ignored, clean] + def status(self, ignored=False, clean=False, unknown=False): """Explicit status query Unless this method is used to query the working copy status, the _status property will implicitly read the status using its default arguments."""