diff -r 2519994d25ca -r 527a247f114f mercurial/merge.py --- a/mercurial/merge.py Sun Mar 19 11:54:15 2017 -0700 +++ b/mercurial/merge.py Sun Mar 19 11:42:17 2017 -0700 @@ -858,7 +858,7 @@ pass # we'll deal with it on m2 side elif f in movewithdir: # directory rename, move local f2 = movewithdir[f] - if matcher(f2) and f2 in m2: + if f2 in m2: actions[f2] = ('m', (f, f2, None, True, pa.node()), "remote directory rename, both created") else: @@ -887,7 +887,7 @@ pass # we'll deal with it on m1 side elif f in movewithdir: f2 = movewithdir[f] - if matcher(f2) and f2 in m1: + if f2 in m1: actions[f2] = ('m', (f2, f, None, False, pa.node()), "local directory rename, both created") else: @@ -895,7 +895,7 @@ "local directory rename - get from " + f) elif f in copy: f2 = copy[f] - if matcher(f2) and f2 in m2: + if f2 in m2: actions[f] = ('m', (f2, f, f2, False, pa.node()), "remote copied from " + f2) else: @@ -927,7 +927,7 @@ # new file added in a directory that was moved df = dirmove[d] + f[len(d):] break - if matcher(df) and df in m1: + if df is not None and df in m1: actions[df] = ('m', (df, f, f, False, pa.node()), "local directory rename - respect move from " + f) elif acceptremote: