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
--- 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"""