From patchwork Wed Jan 29 23:18:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D8002: pathutil: mark parent directories as audited as we go From: phabricator X-Patchwork-Id: 44739 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Wed, 29 Jan 2020 23:18:35 +0000 Closed by commit rHG51c86c6167c1: pathutil: mark parent directories as audited as we go (authored by martinvonz). This revision was automatically updated to reflect the committed changes. This revision was not accepted when it landed; it landed in state "Needs Review". REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D8002?vs=19593&id=19681 CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D8002/new/ REVISION DETAIL https://phab.mercurial-scm.org/D8002 AFFECTED FILES mercurial/pathutil.py CHANGE DETAILS To: martinvonz, #hg-reviewers Cc: mercurial-devel diff --git a/mercurial/pathutil.py b/mercurial/pathutil.py --- a/mercurial/pathutil.py +++ b/mercurial/pathutil.py @@ -99,7 +99,6 @@ parts.pop() normparts.pop() - prefixes = [] # It's important that we check the path parts starting from the root. # This means we won't accidentally traverse a symlink into some other # filesystem (which is potentially expensive to access). @@ -110,13 +109,11 @@ continue if self._realfs: self._checkfs(prefix, path) - prefixes.append(normprefix) + if self._cached: + self.auditeddir.add(normprefix) if self._cached: self.audited.add(normpath) - # only add prefixes to the cache after checking everything: we don't - # want to add "foo/bar/baz" before checking if there's a "foo/.hg" - self.auditeddir.update(prefixes) def _checkfs(self, prefix, path): """raise exception if a file system backed check fails"""