comparison mercurial/pure/parsers.py @ 48229:db5897321351

dirstate-v2: Use attributes as intended instead of properties in v2_data() The property return other integer values instead of None, so `is not None` does not work. This fixes test-dirstate-race.t in pure-Python mode, which currently fails on the default branch. Differential Revision: https://phab.mercurial-scm.org/D11660
author Simon Sapin <simon.sapin@octobus.net>
date Thu, 14 Oct 2021 15:05:04 +0200
parents 7e78c72ee3ea
children f7fd629ffb98
comparison
equal deleted inserted replaced
48228:50dca3aa5c3b 48229:db5897321351
320 flags |= DIRSTATE_V2_WDIR_TRACKED 320 flags |= DIRSTATE_V2_WDIR_TRACKED
321 if self._p1_tracked: 321 if self._p1_tracked:
322 flags |= DIRSTATE_V2_P1_TRACKED 322 flags |= DIRSTATE_V2_P1_TRACKED
323 if self._p2_info: 323 if self._p2_info:
324 flags |= DIRSTATE_V2_P2_INFO 324 flags |= DIRSTATE_V2_P2_INFO
325 if self.mode is not None and self.size is not None: 325 if self._mode is not None and self._size is not None:
326 flags |= DIRSTATE_V2_HAS_MODE_AND_SIZE 326 flags |= DIRSTATE_V2_HAS_MODE_AND_SIZE
327 if self.mode & stat.S_IXUSR: 327 if self.mode & stat.S_IXUSR:
328 flags |= DIRSTATE_V2_MODE_EXEC_PERM 328 flags |= DIRSTATE_V2_MODE_EXEC_PERM
329 if stat.S_ISLNK(self.mode): 329 if stat.S_ISLNK(self.mode):
330 flags |= DIRSTATE_V2_MODE_IS_SYMLINK 330 flags |= DIRSTATE_V2_MODE_IS_SYMLINK
331 if self.mtime is not None: 331 if self._mtime is not None:
332 flags |= DIRSTATE_V2_HAS_MTIME 332 flags |= DIRSTATE_V2_HAS_MTIME
333 return (flags, self.size or 0, self.mtime or 0) 333 return (flags, self._size or 0, self._mtime or 0)
334 334
335 def v1_state(self): 335 def v1_state(self):
336 """return a "state" suitable for v1 serialization""" 336 """return a "state" suitable for v1 serialization"""
337 if not self.any_tracked: 337 if not self.any_tracked:
338 # the object has no state to record, this is -currently- 338 # the object has no state to record, this is -currently-