# HG changeset patch # User Pierre-Yves David # Date 1630080047 -7200 # Node ID 508394e385802c8d399e16f32a0c0ef40db6e040 # Parent dbf2d03850a24ce46c70bde16f977902dc5dd2c0 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 diff -r dbf2d03850a2 -r 508394e38580 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"""