dirstate-item: implement `v1_mtime` with higher level block
authorPierre-Yves David <pierre-yves.david@octobus.net>
Fri, 27 Aug 2021 18:00:47 +0200
changeset 47938 508394e38580
parent 47937 dbf2d03850a2
child 47942 9beea3a023ac
dirstate-item: implement `v1_mtime` with higher level block This is much easier to read and maintain. Differential Revision: https://phab.mercurial-scm.org/D11375
mercurial/pure/parsers.py
--- a/mercurial/pure/parsers.py	Fri Aug 27 17:59:00 2021 +0200
+++ b/mercurial/pure/parsers.py	Fri Aug 27 18:00:47 2021 +0200
@@ -377,25 +377,18 @@
             # the object has no state to record, this is -currently-
             # unsupported
             raise RuntimeError('untracked item')
-        elif not self._wc_tracked:
+        elif self.removed:
             return 0
         elif self._possibly_dirty:
             return AMBIGUOUS_TIME
-        elif self._merged:
-            return AMBIGUOUS_TIME
-        elif not (self._p1_tracked or self._p2_tracked) and self._wc_tracked:
+        elif self.merged:
             return AMBIGUOUS_TIME
-        elif self._clean_p2 and self._wc_tracked:
-            return AMBIGUOUS_TIME
-        elif not self._p1_tracked and self._p2_tracked and self._wc_tracked:
+        elif self.added:
             return AMBIGUOUS_TIME
-        elif self._wc_tracked:
-            if self._mtime is None:
-                return 0
-            else:
-                return self._mtime
+        elif self.from_p2:
+            return AMBIGUOUS_TIME
         else:
-            raise RuntimeError('unreachable')
+            return self._mtime if self._mtime is not None else 0
 
     def need_delay(self, now):
         """True if the stored mtime would be ambiguous with the current time"""