diff -r 170b070ec6a5 -r 2b869a515ba6 mercurial/context.py --- a/mercurial/context.py Mon Aug 19 12:30:02 2019 -0700 +++ b/mercurial/context.py Mon Aug 19 15:43:27 2019 -0700 @@ -1558,9 +1558,10 @@ parents = self._repo.dirstate.parents() p1manifest = self._repo[parents[0]].manifest() p2manifest = self._repo[parents[1]].manifest() + changedset = set(self.added()) | set(self.modified()) narrowmatch = self._repo.narrowmatch() for dst, src in self._repo.dirstate.copies().items(): - if not narrowmatch(dst): + if dst not in changedset or not narrowmatch(dst): continue if src in p1manifest: p1copies[dst] = src