dirstate-item: implement v1_state with higher level block
authorPierre-Yves David <pierre-yves.david@octobus.net>
Fri, 27 Aug 2021 17:48:12 +0200
changeset 47936 0d185f73c619
parent 47935 97e9f3fd9324
child 47937 dbf2d03850a2
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
mercurial/pure/parsers.py
--- a/mercurial/pure/parsers.py	Fri Aug 27 18:04:49 2021 +0200
+++ b/mercurial/pure/parsers.py	Fri Aug 27 17:48:12 2021 +0200
@@ -335,22 +335,14 @@
             # 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"""