# HG changeset patch # User Sean Farley # Date 1394580736 18000 # Node ID 3b6b1b407e99f4d554eb367895d3de2cf4566b0e # Parent ed608a544719e19002c50e1a01b16d792eae9e19 localrepo: call _dirstatestatus instead of duplicating logic diff -r ed608a544719 -r 3b6b1b407e99 mercurial/localrepo.py --- a/mercurial/localrepo.py Tue Apr 22 13:20:30 2014 -0500 +++ b/mercurial/localrepo.py Tue Mar 11 18:32:16 2014 -0500 @@ -1541,21 +1541,9 @@ match.bad = bad if working: # we need to scan the working dir - subrepos = [] - if '.hgsub' in self.dirstate: - subrepos = sorted(ctx2.substate) - s = self.dirstate.status(match, subrepos, listignored, - listclean, listunknown) - cmp, modified, added, removed, deleted, unknown, ignored, clean = s - - # check for any possibly clean files - if parentworking and cmp: - modified2, fixup = ctx2._checklookup(cmp) - modified += modified2 - - # update dirstate for files that are actually clean - if fixup and listclean: - clean += fixup + r = ctx2._dirstatestatus(match=match, ignored=listignored, + clean=listclean, unknown=listunknown) + modified, added, removed, deleted, unknown, ignored, clean = r if not parentworking: mf1 = mfmatches(ctx1) @@ -1563,7 +1551,7 @@ # we are comparing working dir against non-parent # generate a pseudo-manifest for the working dir mf2 = mfmatches(self['.']) - for f in cmp + modified + added: + for f in modified + added: mf2[f] = None mf2.set(f, ctx2.flags(f)) for f in removed: