mercurial/pure/parsers.py
changeset 49044 be9bf75a837c
parent 48946 642e31cb55f0
child 49119 4c75f00b199e
equal deleted inserted replaced
49043:362312d61020 49044:be9bf75a837c
   289             self._mtime_s = None
   289             self._mtime_s = None
   290             self._mtime_ns = None
   290             self._mtime_ns = None
   291 
   291 
   292     @property
   292     @property
   293     def mode(self):
   293     def mode(self):
   294         return self.v1_mode()
   294         return self._v1_mode()
   295 
   295 
   296     @property
   296     @property
   297     def size(self):
   297     def size(self):
   298         return self.v1_size()
   298         return self._v1_size()
   299 
   299 
   300     @property
   300     @property
   301     def mtime(self):
   301     def mtime(self):
   302         return self.v1_mtime()
   302         return self._v1_mtime()
   303 
   303 
   304     def mtime_likely_equal_to(self, other_mtime):
   304     def mtime_likely_equal_to(self, other_mtime):
   305         self_sec = self._mtime_s
   305         self_sec = self._mtime_s
   306         if self_sec is None:
   306         if self_sec is None:
   307             return False
   307             return False
   336         dirstatev1 format. It would make sense to ultimately deprecate it in
   336         dirstatev1 format. It would make sense to ultimately deprecate it in
   337         favor of the more "semantic" attributes.
   337         favor of the more "semantic" attributes.
   338         """
   338         """
   339         if not self.any_tracked:
   339         if not self.any_tracked:
   340             return b'?'
   340             return b'?'
   341         return self.v1_state()
   341         return self._v1_state()
   342 
   342 
   343     @property
   343     @property
   344     def has_fallback_exec(self):
   344     def has_fallback_exec(self):
   345         """True if "fallback" information are available for the "exec" bit
   345         """True if "fallback" information are available for the "exec" bit
   346 
   346 
   496         # Note: we do not need to do anything regarding
   496         # Note: we do not need to do anything regarding
   497         # DIRSTATE_V2_ALL_UNKNOWN_RECORDED and DIRSTATE_V2_ALL_IGNORED_RECORDED
   497         # DIRSTATE_V2_ALL_UNKNOWN_RECORDED and DIRSTATE_V2_ALL_IGNORED_RECORDED
   498         # since we never set _DIRSTATE_V2_HAS_DIRCTORY_MTIME
   498         # since we never set _DIRSTATE_V2_HAS_DIRCTORY_MTIME
   499         return (flags, self._size or 0, self._mtime_s or 0, self._mtime_ns or 0)
   499         return (flags, self._size or 0, self._mtime_s or 0, self._mtime_ns or 0)
   500 
   500 
   501     def v1_state(self):
   501     def _v1_state(self):
   502         """return a "state" suitable for v1 serialization"""
   502         """return a "state" suitable for v1 serialization"""
   503         if not self.any_tracked:
   503         if not self.any_tracked:
   504             # the object has no state to record, this is -currently-
   504             # the object has no state to record, this is -currently-
   505             # unsupported
   505             # unsupported
   506             raise RuntimeError('untracked item')
   506             raise RuntimeError('untracked item')
   511         elif self.added:
   511         elif self.added:
   512             return b'a'
   512             return b'a'
   513         else:
   513         else:
   514             return b'n'
   514             return b'n'
   515 
   515 
   516     def v1_mode(self):
   516     def _v1_mode(self):
   517         """return a "mode" suitable for v1 serialization"""
   517         """return a "mode" suitable for v1 serialization"""
   518         return self._mode if self._mode is not None else 0
   518         return self._mode if self._mode is not None else 0
   519 
   519 
   520     def v1_size(self):
   520     def _v1_size(self):
   521         """return a "size" suitable for v1 serialization"""
   521         """return a "size" suitable for v1 serialization"""
   522         if not self.any_tracked:
   522         if not self.any_tracked:
   523             # the object has no state to record, this is -currently-
   523             # the object has no state to record, this is -currently-
   524             # unsupported
   524             # unsupported
   525             raise RuntimeError('untracked item')
   525             raise RuntimeError('untracked item')
   534         elif self._size is None:
   534         elif self._size is None:
   535             return NONNORMAL
   535             return NONNORMAL
   536         else:
   536         else:
   537             return self._size
   537             return self._size
   538 
   538 
   539     def v1_mtime(self):
   539     def _v1_mtime(self):
   540         """return a "mtime" suitable for v1 serialization"""
   540         """return a "mtime" suitable for v1 serialization"""
   541         if not self.any_tracked:
   541         if not self.any_tracked:
   542             # the object has no state to record, this is -currently-
   542             # the object has no state to record, this is -currently-
   543             # unsupported
   543             # unsupported
   544             raise RuntimeError('untracked item')
   544             raise RuntimeError('untracked item')
   961     for f, e in dmap.items():
   961     for f, e in dmap.items():
   962         if f in copymap:
   962         if f in copymap:
   963             f = b"%s\0%s" % (f, copymap[f])
   963             f = b"%s\0%s" % (f, copymap[f])
   964         e = _pack(
   964         e = _pack(
   965             b">cllll",
   965             b">cllll",
   966             e.v1_state(),
   966             e._v1_state(),
   967             e.v1_mode(),
   967             e._v1_mode(),
   968             e.v1_size(),
   968             e._v1_size(),
   969             e.v1_mtime(),
   969             e._v1_mtime(),
   970             len(f),
   970             len(f),
   971         )
   971         )
   972         write(e)
   972         write(e)
   973         write(f)
   973         write(f)
   974     return cs.getvalue()
   974     return cs.getvalue()