[PATCH 8 of 8] localrepo: call _dirstatestatus instead of duplicating logic
Sean Farley
sean.michael.farley at gmail.com
Tue May 6 18:33:25 CDT 2014
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1394580736 18000
# Tue Mar 11 18:32:16 2014 -0500
# Node ID 9ca39f52dd88e1afaa1f89b1f84d6bf7fd15fcc3
# Parent a2478cd201b77a44d2f9071d99ba3edc9b269359
localrepo: call _dirstatestatus instead of duplicating logic
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1543,33 +1543,21 @@ class localrepository(object):
if f not in ctx1 and f not in ctx1.dirs():
self.ui.warn('%s: %s\n' % (self.dirstate.pathto(f), msg))
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)
if working:
# 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:
if f in mf2:
del mf2[f]
More information about the Mercurial-devel
mailing list