diff -r 71d0fd3c2e24 -r 2e31a17ad1bf mercurial/merge.py --- a/mercurial/merge.py Thu Dec 17 14:57:20 2015 +0000 +++ b/mercurial/merge.py Mon Dec 14 20:57:21 2015 -0500 @@ -722,12 +722,13 @@ break # Compare manifests + if matcher is not None: + m1 = m1.matches(matcher) + m2 = m2.matches(matcher) diff = m1.diff(m2) actions = {} for f, ((n1, fl1), (n2, fl2)) in diff.iteritems(): - if matcher and not matcher(f): - continue if n1 and n2: # file exists on both local and remote side if f not in ma: fa = copy.get(f, None)