Mercurial > hg
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- |