diff -r f330d6117a5b -r 61719b9658b1 mercurial/copies.py --- a/mercurial/copies.py Sat May 30 12:36:00 2020 -0400 +++ b/mercurial/copies.py Wed Jun 03 19:20:18 2020 +0900 @@ -604,9 +604,9 @@ # thing in pathcopies(): pathcopies(x, y) can return a copy where the # destination doesn't exist in y. pass - elif m2[src] != mb[src]: - if not _related(c2[src], base[src]): - return + elif mb[src] != m2[src] and not _related(c2[src], base[src]): + return + elif mb[src] != m2[src] or mb.flags(src) != m2.flags(src): # modified on side 2 for dst in dsts1: copy[dst] = src