[PATCH 1 of 3 V3] vfs: allow to pass more argument to audit
Yuya Nishihara
yuya at tcha.org
Thu Jul 13 11:28:27 EDT 2017
On Tue, 11 Jul 2017 17:55:27 +0200, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # 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
Looks generally good.
> 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)
Is 'atomictemp' needed? I don't think 'atomictemp' can be generalized well to
the other vfs operations. And atomictemp=True doesn't mean repo.lock/wlock
is unnecessary.
More information about the Mercurial-devel
mailing list