diff -r 5d68c4eedd66 -r a660d8a53267 mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py Wed Sep 22 15:17:12 2021 +0200 +++ b/mercurial/pure/parsers.py Wed Sep 22 17:46:29 2021 +0200 @@ -263,6 +263,24 @@ self._size = None self._mtime = None + def drop_merge_data(self): + """remove all "merge-only" from a DirstateItem + + This is to be call by the dirstatemap code when the second parent is dropped + """ + if not (self.merged or self.from_p2): + return + self._p1_tracked = self.merged # why is this not already properly set ? + + self._merged = False + self._clean_p1 = False + self._clean_p2 = False + self._p2_tracked = False + self._possibly_dirty = True + self._mode = None + self._size = None + self._mtime = None + @property def mode(self): return self.v1_mode()