On Fri, 2017-07-14 at 00:28 +0900, Yuya Nishihara wrote: > On Tue, 11 Jul 2017 17:55:27 +0200, Boris Feld wrote: > > # HG changeset patch > > # User Boris Feld <boris.f...@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.
atomictemp wasn't technically necessary for this series, I included it for completeness. If people starts wrapping pathauditor, adding atomictemp later would results in breaking their wraps. Do you want me to send a V4 to remove the atomictemp? _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel