mercurial/merge.py
changeset 45587 768412472663
parent 45584 4c8a93ec6908
child 45617 ad984583969a
--- a/mercurial/merge.py	Mon Sep 14 15:08:15 2020 +0530
+++ b/mercurial/merge.py	Mon Aug 24 15:35:34 2020 +0530
@@ -923,6 +923,15 @@
                     mresult.addfile(
                         f, mergestatemod.ACTION_REMOVE, None, b'other deleted',
                     )
+                    if branchmerge:
+                        # the file must be absent after merging,
+                        # howeber the user might make
+                        # the file reappear using revert and if they does,
+                        # we force create a new node
+                        mresult.addcommitinfo(
+                            f, b'merge-removal-candidate', b'yes'
+                        )
+
             else:  # file not in ancestor, not in remote
                 mresult.addfile(
                     f,
@@ -1033,6 +1042,12 @@
                     None,
                     b'local not present, remote unchanged',
                 )
+                if branchmerge:
+                    # the file must be absent after merging
+                    # however the user might make
+                    # the file reappear using revert and if they does,
+                    # we force create a new node
+                    mresult.addcommitinfo(f, b'merge-removal-candidate', b'yes')
 
     if repo.ui.configbool(b'experimental', b'merge.checkpathconflicts'):
         # If we are merging, look for path conflicts.