Mercurial > hg
diff mercurial/pure/parsers.py @ 47937:dbf2d03850a2
dirstate-item: implement `v1_size` with higher level block
This is much easier to read and maintain.
Differential Revision: https://phab.mercurial-scm.org/D11374
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 27 Aug 2021 17:59:00 +0200 |
parents | 0d185f73c619 |
children | 508394e38580 |
line wrap: on
line diff
--- a/mercurial/pure/parsers.py Fri Aug 27 17:48:12 2021 +0200 +++ b/mercurial/pure/parsers.py Fri Aug 27 17:59:00 2021 +0200 @@ -354,32 +354,22 @@ # the object has no state to record, this is -currently- # unsupported raise RuntimeError('untracked item') - elif not self._wc_tracked: - # File was deleted - if self._merged: - return NONNORMAL - elif self._clean_p2: - return FROM_P2 - else: - return 0 - elif self._merged: + elif self.merged_removed: + return NONNORMAL + elif self.from_p2_removed: return FROM_P2 - elif not (self._p1_tracked or self._p2_tracked) and self._wc_tracked: - # Added + elif self.removed: + return 0 + elif self.merged: + return FROM_P2 + elif self.added: return NONNORMAL - elif self._clean_p2 and self._wc_tracked: - return FROM_P2 - elif not self._p1_tracked and self._p2_tracked and self._wc_tracked: + elif self.from_p2: return FROM_P2 elif self._possibly_dirty: - if self._size is None: - return NONNORMAL - else: - return self._size - elif self._wc_tracked: + return self._size if self._size is not None else NONNORMAL + else: return self._size - else: - raise RuntimeError('unreachable') def v1_mtime(self): """return a "mtime" suitable for v1 serialization"""