mercurial/utils/storageutil.py
changeset 43077 687b865b95ad
parent 43076 2372284d9457
child 44060 a61287a95dc3
equal deleted inserted replaced
43076:2372284d9457 43077:687b865b95ad
   193     if isinstance(fileid, int):
   193     if isinstance(fileid, int):
   194         try:
   194         try:
   195             return store.node(fileid)
   195             return store.node(fileid)
   196         except IndexError:
   196         except IndexError:
   197             raise error.LookupError(
   197             raise error.LookupError(
   198                 '%d' % fileid, identifier, _('no match found')
   198                 b'%d' % fileid, identifier, _(b'no match found')
   199             )
   199             )
   200 
   200 
   201     if len(fileid) == 20:
   201     if len(fileid) == 20:
   202         try:
   202         try:
   203             store.rev(fileid)
   203             store.rev(fileid)
   224         except (IndexError, TypeError):
   224         except (IndexError, TypeError):
   225             pass
   225             pass
   226     except (ValueError, OverflowError):
   226     except (ValueError, OverflowError):
   227         pass
   227         pass
   228 
   228 
   229     raise error.LookupError(fileid, identifier, _('no match found'))
   229     raise error.LookupError(fileid, identifier, _(b'no match found'))
   230 
   230 
   231 
   231 
   232 def resolvestripinfo(minlinkrev, tiprev, headrevs, linkrevfn, parentrevsfn):
   232 def resolvestripinfo(minlinkrev, tiprev, headrevs, linkrevfn, parentrevsfn):
   233     """Resolve information needed to strip revisions.
   233     """Resolve information needed to strip revisions.
   234 
   234 
   359     """
   359     """
   360 
   360 
   361     fnode = store.node
   361     fnode = store.node
   362     frev = store.rev
   362     frev = store.rev
   363 
   363 
   364     if nodesorder == 'nodes':
   364     if nodesorder == b'nodes':
   365         revs = [frev(n) for n in nodes]
   365         revs = [frev(n) for n in nodes]
   366     elif nodesorder == 'linear':
   366     elif nodesorder == b'linear':
   367         revs = set(frev(n) for n in nodes)
   367         revs = set(frev(n) for n in nodes)
   368         revs = dagop.linearize(revs, store.parentrevs)
   368         revs = dagop.linearize(revs, store.parentrevs)
   369     else:  # storage and default
   369     else:  # storage and default
   370         revs = sorted(frev(n) for n in nodes)
   370         revs = sorted(frev(n) for n in nodes)
   371 
   371 
   496     # Fragile heuristic: unless new file meta keys are added alphabetically
   496     # Fragile heuristic: unless new file meta keys are added alphabetically
   497     # preceding "censored", all censored revisions are prefixed by
   497     # preceding "censored", all censored revisions are prefixed by
   498     # "\1\ncensored:". A delta producing such a censored revision must be a
   498     # "\1\ncensored:". A delta producing such a censored revision must be a
   499     # full-replacement delta, so we inspect the first and only patch in the
   499     # full-replacement delta, so we inspect the first and only patch in the
   500     # delta for this prefix.
   500     # delta for this prefix.
   501     hlen = struct.calcsize(">lll")
   501     hlen = struct.calcsize(b">lll")
   502     if len(delta) <= hlen:
   502     if len(delta) <= hlen:
   503         return False
   503         return False
   504 
   504 
   505     oldlen = baselenfn(baserev)
   505     oldlen = baselenfn(baserev)
   506     newlen = len(delta) - hlen
   506     newlen = len(delta) - hlen
   507     if delta[:hlen] != mdiff.replacediffheader(oldlen, newlen):
   507     if delta[:hlen] != mdiff.replacediffheader(oldlen, newlen):
   508         return False
   508         return False
   509 
   509 
   510     add = "\1\ncensored:"
   510     add = b"\1\ncensored:"
   511     addlen = len(add)
   511     addlen = len(add)
   512     return newlen >= addlen and delta[hlen : hlen + addlen] == add
   512     return newlen >= addlen and delta[hlen : hlen + addlen] == add