--- a/mercurial/copies.py Sat Jun 15 10:58:53 2019 +0900
+++ b/mercurial/copies.py Thu Apr 18 00:40:53 2019 -0700
@@ -300,6 +300,7 @@
else:
copies = copies1
if r == b.rev():
+ _filter(a, b, copies)
return copies
for c in children[r]:
childctx = repo[c]
@@ -313,7 +314,10 @@
if not match.always():
childcopies = {dst: src for dst, src in childcopies.items()
if match(dst)}
- childcopies = _chainandfilter(a, childctx, copies, childcopies)
+ childcopies = _chain(copies, childcopies)
+ for f in childctx.filesremoved():
+ if f in childcopies:
+ del childcopies[f]
heapq.heappush(work, (c, parent, childcopies))
assert False