Mercurial > public > mercurial-scm > hg
comparison mercurial/pure/parsers.py @ 47936:0d185f73c619
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
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 27 Aug 2021 17:48:12 +0200 |
parents | 97e9f3fd9324 |
children | dbf2d03850a2 |
comparison
equal
deleted
inserted
replaced
47935:97e9f3fd9324 | 47936:0d185f73c619 |
---|---|
333 """return a "state" suitable for v1 serialization""" | 333 """return a "state" suitable for v1 serialization""" |
334 if not (self._p1_tracked or self._p2_tracked or self._wc_tracked): | 334 if not (self._p1_tracked or self._p2_tracked or self._wc_tracked): |
335 # the object has no state to record, this is -currently- | 335 # the object has no state to record, this is -currently- |
336 # unsupported | 336 # unsupported |
337 raise RuntimeError('untracked item') | 337 raise RuntimeError('untracked item') |
338 elif not self._wc_tracked: | 338 elif self.removed: |
339 return b'r' | 339 return b'r' |
340 elif self._merged: | 340 elif self.merged: |
341 return b'm' | 341 return b'm' |
342 elif not (self._p1_tracked or self._p2_tracked) and self._wc_tracked: | 342 elif self.added: |
343 return b'a' | 343 return b'a' |
344 elif self._clean_p2 and self._wc_tracked: | 344 else: |
345 return b'n' | 345 return b'n' |
346 elif not self._p1_tracked and self._p2_tracked and self._wc_tracked: | |
347 return b'n' | |
348 elif self._possibly_dirty: | |
349 return b'n' | |
350 elif self._wc_tracked: | |
351 return b'n' | |
352 else: | |
353 raise RuntimeError('unreachable') | |
354 | 346 |
355 def v1_mode(self): | 347 def v1_mode(self): |
356 """return a "mode" suitable for v1 serialization""" | 348 """return a "mode" suitable for v1 serialization""" |
357 return self._mode if self._mode is not None else 0 | 349 return self._mode if self._mode is not None else 0 |
358 | 350 |