diff -r d4e715d2be0b -r 2c2788ce0257 mercurial/mergestate.py --- a/mercurial/mergestate.py Thu Sep 30 18:00:39 2021 +0200 +++ b/mercurial/mergestate.py Fri Oct 01 00:00:29 2021 +0200 @@ -821,8 +821,15 @@ if branchmerge: # We've done a branch merge, mark this file as merged # so that we properly record the merger later + p1_tracked = f1 == f + p2_tracked = f2 == f repo.dirstate.update_file( - f, p1_tracked=True, wc_tracked=True, merged=True + f, + p1_tracked=p1_tracked, + p2_tracked=p2_tracked, + wc_tracked=True, + merged=p1_tracked, + clean_p2=not p1_tracked, ) if f1 != f2: # copy/rename if move: