diff -r d44d53bc9a1e -r 55c449345b10 mercurial/dirstate.py --- a/mercurial/dirstate.py Wed Nov 19 15:56:58 2014 -0800 +++ b/mercurial/dirstate.py Wed Oct 29 08:43:39 2014 -0700 @@ -611,7 +611,7 @@ dirsnotfound = [] notfoundadd = dirsnotfound.append - if match.matchfn != match.exact and self._checkcase: + if not match.isexact() and self._checkcase: normalize = self._normalize else: normalize = None @@ -711,7 +711,7 @@ join = self._join exact = skipstep3 = False - if matchfn == match.exact: # match.exact + if match.isexact(): # match.exact exact = True dirignore = util.always # skip step 2 elif match.files() and not match.anypats(): # match.match, no patterns @@ -912,7 +912,7 @@ if match.always(): return dmap.keys() files = match.files() - if match.matchfn == match.exact: + if match.isexact(): # fast path -- filter the other way around, since typically files is # much smaller than dmap return [f for f in files if f in dmap]