D4068: narrow: move status-filtering to core and to ctx
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Aug 3 09:44:43 EDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGe411774a2e0f: narrow: move status-filtering to core and to ctx (authored by martinvonz, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D4068?vs=9814&id=9819
REVISION DETAIL
https://phab.mercurial-scm.org/D4068
AFFECTED FILES
hgext/narrow/narrowrepo.py
mercurial/context.py
CHANGE DETAILS
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -372,6 +372,10 @@
for rfiles, sfiles in zip(r, s):
rfiles.extend("%s/%s" % (subpath, f) for f in sfiles)
+ narrowmatch = self._repo.narrowmatch()
+ if not narrowmatch.always():
+ for l in r:
+ l[:] = list(filter(narrowmatch, l))
for l in r:
l.sort()
diff --git a/hgext/narrow/narrowrepo.py b/hgext/narrow/narrowrepo.py
--- a/hgext/narrow/narrowrepo.py
+++ b/hgext/narrow/narrowrepo.py
@@ -11,7 +11,6 @@
changegroup,
hg,
narrowspec,
- scmutil,
)
from . import (
@@ -46,23 +45,6 @@
narrowrevlog.makenarrowfilelog(fl, self.narrowmatch())
return fl
- # I'm not sure this is the right place to do this filter.
- # context._manifestmatches() would probably be better, or perhaps
- # move it to a later place, in case some of the callers do want to know
- # which directories changed. This seems to work for now, though.
- def status(self, *args, **kwargs):
- s = super(narrowrepository, self).status(*args, **kwargs)
- narrowmatch = self.narrowmatch()
- modified = list(filter(narrowmatch, s.modified))
- added = list(filter(narrowmatch, s.added))
- removed = list(filter(narrowmatch, s.removed))
- deleted = list(filter(narrowmatch, s.deleted))
- unknown = list(filter(narrowmatch, s.unknown))
- ignored = list(filter(narrowmatch, s.ignored))
- clean = list(filter(narrowmatch, s.clean))
- return scmutil.status(modified, added, removed, deleted, unknown,
- ignored, clean)
-
def _makedirstate(self):
dirstate = super(narrowrepository, self)._makedirstate()
return narrowdirstate.wrapdirstate(self, dirstate)
To: martinvonz, durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list