From patchwork Tue Jul 11 15:55:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1,of,3,V3] vfs: allow to pass more argument to audit From: Boris Feld X-Patchwork-Id: 22224 Message-Id: <9addf65400ec8e6052a3.1499788527@FB> To: mercurial-devel@mercurial-scm.org Cc: boris.feld@octobus.net Date: Tue, 11 Jul 2017 17:55:27 +0200 # HG changeset patch # User Boris Feld # Date 1499768878 -7200 # Tue Jul 11 12:27:58 2017 +0200 # Node ID 9addf65400ec8e6052a399c1586320988d73a321 # Parent 4672db164c986da4442bd864cd044512d975c3f2 # EXP-Topic vfs.ward vfs: allow to pass more argument to audit We want to be able to do more precise check when auditing a path depending of the intend of the file access (eg read versus write). So we now pass the 'mode' and 'atomictemp' value to 'audit' and update the audit function to accept them. This will be put to use in the next changeset. diff -r 4672db164c98 -r 9addf65400ec mercurial/pathutil.py --- a/mercurial/pathutil.py Sat Jun 24 15:29:42 2017 -0700 +++ b/mercurial/pathutil.py Tue Jul 11 12:27:58 2017 +0200 @@ -46,7 +46,7 @@ else: self.normcase = lambda x: x - def __call__(self, path): + def __call__(self, path, mode=None, atomictemp=None): '''Check the relative path. path may contain a pattern (e.g. foodir/**.txt)''' diff -r 4672db164c98 -r 9addf65400ec mercurial/vfs.py --- a/mercurial/vfs.py Sat Jun 24 15:29:42 2017 -0700 +++ b/mercurial/vfs.py Tue Jul 11 12:27:58 2017 +0200 @@ -306,7 +306,7 @@ if audit: self.audit = pathutil.pathauditor(self.base) else: - self.audit = util.always + self.audit = (lambda path, mode=None, atomictemp=None: True) self.createmode = None self._trustnlink = None @@ -360,7 +360,7 @@ r = util.checkosfilename(path) if r: raise error.Abort("%s: %r" % (r, path)) - self.audit(path) + self.audit(path, mode=mode, atomictemp=atomictemp) f = self.join(path) if not text and "b" not in mode: