hgext/lfs/wrapper.py
changeset 37442 0596d27457c6
parent 37132 a54113fcc8c9
child 37518 092eff6833a7
equal deleted inserted replaced
37441:a3202fa83aff 37442:0596d27457c6
    12 from mercurial.i18n import _
    12 from mercurial.i18n import _
    13 from mercurial.node import bin, hex, nullid, short
    13 from mercurial.node import bin, hex, nullid, short
    14 
    14 
    15 from mercurial import (
    15 from mercurial import (
    16     error,
    16     error,
    17     filelog,
       
    18     revlog,
    17     revlog,
    19     util,
    18     util,
    20 )
    19 )
    21 
    20 
    22 from mercurial.utils import (
    21 from mercurial.utils import (
    67     for k in p.keys():
    66     for k in p.keys():
    68         if k.startswith('x-hg-'):
    67         if k.startswith('x-hg-'):
    69             name = k[len('x-hg-'):]
    68             name = k[len('x-hg-'):]
    70             hgmeta[name] = p[k]
    69             hgmeta[name] = p[k]
    71     if hgmeta or text.startswith('\1\n'):
    70     if hgmeta or text.startswith('\1\n'):
    72         text = filelog.packmeta(hgmeta, text)
    71         text = revlog.packmeta(hgmeta, text)
    73 
    72 
    74     return (text, True)
    73     return (text, True)
    75 
    74 
    76 def writetostore(self, text):
    75 def writetostore(self, text):
    77     # hg filelog metadata (includes rename, etc)
    76     # hg filelog metadata (includes rename, etc)
    78     hgmeta, offset = filelog.parsemeta(text)
    77     hgmeta, offset = revlog.parsemeta(text)
    79     if offset and offset > 0:
    78     if offset and offset > 0:
    80         # lfs blob does not contain hg filelog metadata
    79         # lfs blob does not contain hg filelog metadata
    81         text = text[offset:]
    80         text = text[offset:]
    82 
    81 
    83     # git-lfs only supports sha256
    82     # git-lfs only supports sha256
   119 def filelogaddrevision(orig, self, text, transaction, link, p1, p2,
   118 def filelogaddrevision(orig, self, text, transaction, link, p1, p2,
   120                        cachedelta=None, node=None,
   119                        cachedelta=None, node=None,
   121                        flags=revlog.REVIDX_DEFAULT_FLAGS, **kwds):
   120                        flags=revlog.REVIDX_DEFAULT_FLAGS, **kwds):
   122     textlen = len(text)
   121     textlen = len(text)
   123     # exclude hg rename meta from file size
   122     # exclude hg rename meta from file size
   124     meta, offset = filelog.parsemeta(text)
   123     meta, offset = revlog.parsemeta(text)
   125     if offset:
   124     if offset:
   126         textlen -= offset
   125         textlen -= offset
   127 
   126 
   128     lfstrack = self.opener.options['lfstrack']
   127     lfstrack = self.opener.options['lfstrack']
   129 
   128