# HG changeset patch # User Martin von Zweigbergk # Date 1499638767 25200 # Node ID adf95bfb423a091d1e11fbb5e5079301d26bdba1 # Parent 5d63e5f40bea073db106bf1d8094a273647b2cc8 match: make nevermatcher an exact matcher and a prefix matcher The m.isexact() and m.prefix() methods are used by callers to determine whether m.files() can be used for fast paths. It seems safe to let callers to any fast paths it can that rely on the empty m.files(). diff -r 5d63e5f40bea -r adf95bfb423a mercurial/match.py --- a/mercurial/match.py Mon Jul 10 10:56:40 2017 -0700 +++ b/mercurial/match.py Sun Jul 09 15:19:27 2017 -0700 @@ -347,6 +347,17 @@ def __init__(self, root, cwd, badfn=None): super(nevermatcher, self).__init__(root, cwd, badfn) + # It's a little weird to say that the nevermatcher is an exact matcher + # or a prefix matcher, but it seems to make sense to let callers take + # fast paths based on either. There will be no exact matches, nor any + # prefixes (files() returns []), so fast paths iterating over them should + # be efficient (and correct). + def isexact(self): + return True + + def prefix(self): + return True + def __repr__(self): return ''