diff --git a/mercurial/pure/parsers.py b/mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py +++ b/mercurial/pure/parsers.py @@ -286,7 +286,9 @@ Should only be set if a merge is in progress in the dirstate """ - return self._wc_tracked and self._clean_p2 + if not self._wc_tracked: + return False + return self._clean_p2 or (not self._p1_tracked and self._p2_tracked) @property def from_p2_removed(self):