# HG changeset patch # User Siddharth Agarwal # Date 2013-05-03 21:41:58 # Node ID 3cb9468535bde99eea2c421c938b3a1078881a0a # Parent c3d3e4d75ec310fc4274a0c517d780ab3e03934c match: make explicitdir and traversedir None by default With this, extensions can easily tell when traversedir and/or explicitdir don't need to be called. diff --git a/hgext/inotify/client.py b/hgext/inotify/client.py --- a/hgext/inotify/client.py +++ b/hgext/inotify/client.py @@ -159,7 +159,8 @@ class client(object): vdirs = cs.read(nbytes) if vdirs: for vdir in vdirs.split('\0'): - match.explicitdir(vdir) + if match.explicitdir: + match.explicitdir(vdir) return results diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -623,7 +623,8 @@ class dirstate(object): if nf in dmap: #file deleted on disk but still in dirstate results[nf] = None - matchedir(nf) + if matchedir: + matchedir(nf) if not dirignore(nf): wadd(nf) elif kind == regkind or kind == lnkkind: @@ -639,7 +640,8 @@ class dirstate(object): prefix = nf + "/" for fn in dmap: if fn.startswith(prefix): - matchedir(nf) + if matchedir: + matchedir(nf) skipstep3 = False break else: @@ -668,7 +670,8 @@ class dirstate(object): if nf not in results: if kind == dirkind: if not ignore(nf): - matchtdir(nf) + if matchtdir: + matchtdir(nf) wadd(nf) if nf in dmap and (matchalways or matchfn(nf)): results[nf] = None diff --git a/mercurial/match.py b/mercurial/match.py --- a/mercurial/match.py +++ b/mercurial/match.py @@ -119,10 +119,8 @@ class match(object): found/accessed, with an error message ''' pass - def explicitdir(self, f): - pass - def traversedir(self, f): - pass + explicitdir = None + traversedir = None def missing(self, f): pass def exact(self, f):