From patchwork Wed Oct 18 22:42:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D1184: fsmonitor: use nonnormalset from dirstatemap From: phabricator X-Patchwork-Id: 25222 Message-Id: To: mercurial-devel@mercurial-scm.org Date: Wed, 18 Oct 2017 22:42:58 +0000 quark created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY `dirstate._nonnormalset` has been moved to `dirstate._map.nonnormalset` by https://phab.mercurial-scm.org/rHG60927b19ed65c8ec58ec36afc515976b5d17d78a (dirstate: move nonnormal and otherparent sets to dirstatemap) and is guaranteed to be existed. Let's update fsmonitor code to use the new `nonnormalset`. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1184 AFFECTED FILES hgext/fsmonitor/__init__.py CHANGE DETAILS To: quark, #hg-reviewers Cc: mercurial-devel diff --git a/hgext/fsmonitor/__init__.py b/hgext/fsmonitor/__init__.py --- a/hgext/fsmonitor/__init__.py +++ b/hgext/fsmonitor/__init__.py @@ -274,7 +274,7 @@ matchfn = match.matchfn matchalways = match.always() dmap = self._map._map - nonnormalset = getattr(self, '_nonnormalset', None) + nonnormalset = self._map.nonnormalset copymap = self._map.copymap getkind = stat.S_IFMT @@ -404,28 +404,15 @@ visit = set((f for f in notefiles if (f not in results and matchfn(f) and (f in dmap or not ignore(f))))) - if nonnormalset is not None and not fresh_instance: + if not fresh_instance: if matchalways: visit.update(f for f in nonnormalset if f not in results) visit.update(f for f in copymap if f not in results) else: visit.update(f for f in nonnormalset if f not in results and matchfn(f)) visit.update(f for f in copymap if f not in results and matchfn(f)) - else: - if matchalways: - visit.update(f for f, st in dmap.iteritems() - if (f not in results and - (st[2] < 0 or st[0] != 'n' or fresh_instance))) - visit.update(f for f in copymap if f not in results) - else: - visit.update(f for f, st in dmap.iteritems() - if (f not in results and - (st[2] < 0 or st[0] != 'n' or fresh_instance) - and matchfn(f))) - visit.update(f for f in copymap - if f not in results and matchfn(f)) audit = pathutil.pathauditor(self._root, cached=True).check auditpass = [f for f in visit if audit(f)]