mercurial/context.py
changeset 47705 6975cef3add1
parent 47605 a5701ffc10e4
child 47706 5bbf304271a0
--- a/mercurial/context.py	Mon Jul 19 00:47:59 2021 +0200
+++ b/mercurial/context.py	Mon Jul 19 01:44:24 2021 +0200
@@ -1838,9 +1838,15 @@
                 # wlock can invalidate the dirstate, so cache normal _after_
                 # taking the lock
                 with self._repo.wlock(False):
-                    if self._repo.dirstate.identity() == oldid:
+                    dirstate = self._repo.dirstate
+                    if dirstate.identity() == oldid:
                         if fixup:
-                            normal = self._repo.dirstate.normal
+                            if dirstate.pendingparentchange():
+                                normal = lambda f: dirstate.update_file(
+                                    f, p1_tracked=True, wc_tracked=True
+                                )
+                            else:
+                                normal = dirstate.set_clean
                             for f in fixup:
                                 normal(f)
                             # write changes out explicitly, because nesting