mercurial/changegroup.py
changeset 39866 e23c03dc5cf9
parent 39865 31b7e8e7132e
child 40047 8e398628a3f2
equal deleted inserted replaced
39865:31b7e8e7132e 39866:e23c03dc5cf9
    15 from .node import (
    15 from .node import (
    16     hex,
    16     hex,
    17     nullid,
    17     nullid,
    18     nullrev,
    18     nullrev,
    19     short,
    19     short,
    20 )
       
    21 
       
    22 from .thirdparty import (
       
    23     attr,
       
    24 )
    20 )
    25 
    21 
    26 from . import (
    22 from . import (
    27     error,
    23     error,
    28     match as matchmod,
    24     match as matchmod,
    30     phases,
    26     phases,
    31     pycompat,
    27     pycompat,
    32     repository,
    28     repository,
    33     revlog,
    29     revlog,
    34     util,
    30     util,
    35 )
       
    36 
       
    37 from .utils import (
       
    38     interfaceutil,
       
    39 )
    31 )
    40 
    32 
    41 _CHANGEGROUPV1_DELTA_HEADER = struct.Struct("20s20s20s20s")
    33 _CHANGEGROUPV1_DELTA_HEADER = struct.Struct("20s20s20s20s")
    42 _CHANGEGROUPV2_DELTA_HEADER = struct.Struct("20s20s20s20s20s")
    34 _CHANGEGROUPV2_DELTA_HEADER = struct.Struct("20s20s20s20s20s")
    43 _CHANGEGROUPV3_DELTA_HEADER = struct.Struct(">20s20s20s20s20sH")
    35 _CHANGEGROUPV3_DELTA_HEADER = struct.Struct(">20s20s20s20s20sH")
   496             d, self._h = self._h[:n], self._h[n:]
   488             d, self._h = self._h[:n], self._h[n:]
   497             if len(d) < n:
   489             if len(d) < n:
   498                 d += readexactly(self._fh, n - len(d))
   490                 d += readexactly(self._fh, n - len(d))
   499             return d
   491             return d
   500         return readexactly(self._fh, n)
   492         return readexactly(self._fh, n)
   501 
       
   502 @interfaceutil.implementer(repository.irevisiondeltarequest)
       
   503 @attr.s(slots=True, frozen=True)
       
   504 class revisiondeltarequest(object):
       
   505     node = attr.ib()
       
   506     linknode = attr.ib()
       
   507     p1node = attr.ib()
       
   508     p2node = attr.ib()
       
   509     basenode = attr.ib()
       
   510     ellipsis = attr.ib(default=False)
       
   511 
   493 
   512 def _revisiondeltatochunks(delta, headerfn):
   494 def _revisiondeltatochunks(delta, headerfn):
   513     """Serialize a revisiondelta to changegroup chunks."""
   495     """Serialize a revisiondelta to changegroup chunks."""
   514 
   496 
   515     # The captured revision delta may be encoded as a delta against
   497     # The captured revision delta may be encoded as a delta against