diff -r 2372284d9457 -r 687b865b95ad hgext/lfs/pointer.py --- a/hgext/lfs/pointer.py Sun Oct 06 09:45:02 2019 -0400 +++ b/hgext/lfs/pointer.py Sun Oct 06 09:48:39 2019 -0400 @@ -23,41 +23,41 @@ class gitlfspointer(dict): - VERSION = 'https://git-lfs.github.com/spec/v1' + VERSION = b'https://git-lfs.github.com/spec/v1' def __init__(self, *args, **kwargs): - self['version'] = self.VERSION + self[b'version'] = self.VERSION super(gitlfspointer, self).__init__(*args) self.update(pycompat.byteskwargs(kwargs)) @classmethod def deserialize(cls, text): try: - return cls(l.split(' ', 1) for l in text.splitlines()).validate() + return cls(l.split(b' ', 1) for l in text.splitlines()).validate() except ValueError: # l.split returns 1 item instead of 2 raise InvalidPointer( - _('cannot parse git-lfs text: %s') % stringutil.pprint(text) + _(b'cannot parse git-lfs text: %s') % stringutil.pprint(text) ) def serialize(self): - sortkeyfunc = lambda x: (x[0] != 'version', x) + sortkeyfunc = lambda x: (x[0] != b'version', x) items = sorted(self.validate().iteritems(), key=sortkeyfunc) - return ''.join('%s %s\n' % (k, v) for k, v in items) + return b''.join(b'%s %s\n' % (k, v) for k, v in items) def oid(self): - return self['oid'].split(':')[-1] + return self[b'oid'].split(b':')[-1] def size(self): - return int(self['size']) + return int(self[b'size']) # regular expressions used by _validate # see https://github.com/git-lfs/git-lfs/blob/master/docs/spec.md _keyre = re.compile(br'\A[a-z0-9.-]+\Z') _valuere = re.compile(br'\A[^\n]*\Z') _requiredre = { - 'size': re.compile(br'\A[0-9]+\Z'), - 'oid': re.compile(br'\Asha256:[0-9a-f]{64}\Z'), - 'version': re.compile(br'\A%s\Z' % stringutil.reescape(VERSION)), + b'size': re.compile(br'\A[0-9]+\Z'), + b'oid': re.compile(br'\Asha256:[0-9a-f]{64}\Z'), + b'version': re.compile(br'\A%s\Z' % stringutil.reescape(VERSION)), } def validate(self): @@ -67,21 +67,21 @@ if k in self._requiredre: if not self._requiredre[k].match(v): raise InvalidPointer( - _('unexpected lfs pointer value: %s=%s') + _(b'unexpected lfs pointer value: %s=%s') % (k, stringutil.pprint(v)) ) requiredcount += 1 elif not self._keyre.match(k): - raise InvalidPointer(_('unexpected lfs pointer key: %s') % k) + raise InvalidPointer(_(b'unexpected lfs pointer key: %s') % k) if not self._valuere.match(v): raise InvalidPointer( - _('unexpected lfs pointer value: %s=%s') + _(b'unexpected lfs pointer value: %s=%s') % (k, stringutil.pprint(v)) ) if len(self._requiredre) != requiredcount: miss = sorted(set(self._requiredre.keys()).difference(self.keys())) raise InvalidPointer( - _('missing lfs pointer keys: %s') % ', '.join(miss) + _(b'missing lfs pointer keys: %s') % b', '.join(miss) ) return self