# HG changeset patch # User Pierre-Yves David # Date 2021-08-27 15:48:12 # Node ID 0d185f73c619b592bf0a0cf62df207a5c0d69859 # Parent 97e9f3fd93242852da112457cbcd38b498b9127c dirstate-item: implement v1_state with higher level block This is much easier to read and maintain. Differential Revision: https://phab.mercurial-scm.org/D11373 diff --git a/mercurial/pure/parsers.py b/mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py +++ b/mercurial/pure/parsers.py @@ -335,22 +335,14 @@ class DirstateItem(object): # the object has no state to record, this is -currently- # unsupported raise RuntimeError('untracked item') - elif not self._wc_tracked: + elif self.removed: return b'r' - elif self._merged: + elif self.merged: return b'm' - elif not (self._p1_tracked or self._p2_tracked) and self._wc_tracked: + elif self.added: return b'a' - elif self._clean_p2 and self._wc_tracked: + else: return b'n' - elif not self._p1_tracked and self._p2_tracked and self._wc_tracked: - return b'n' - elif self._possibly_dirty: - return b'n' - elif self._wc_tracked: - return b'n' - else: - raise RuntimeError('unreachable') def v1_mode(self): """return a "mode" suitable for v1 serialization"""