mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
revlog: some basic code reordering
This commit is contained in:
parent
ff72ed852c
commit
141c035280
@ -15,17 +15,30 @@ from i18n import _
|
||||
import binascii, changegroup, errno, ancestor, mdiff, os
|
||||
import sha, struct, util, zlib
|
||||
|
||||
# revlog version strings
|
||||
# revlog flags
|
||||
REVLOGV0 = 0
|
||||
REVLOGNG = 1
|
||||
|
||||
# revlog flags
|
||||
REVLOGNGINLINEDATA = (1 << 16)
|
||||
REVLOG_DEFAULT_FLAGS = REVLOGNGINLINEDATA
|
||||
|
||||
REVLOG_DEFAULT_FORMAT = REVLOGNG
|
||||
REVLOG_DEFAULT_VERSION = REVLOG_DEFAULT_FORMAT | REVLOG_DEFAULT_FLAGS
|
||||
|
||||
class RevlogError(Exception):
|
||||
pass
|
||||
class LookupError(RevlogError):
|
||||
pass
|
||||
|
||||
def getoffset(q):
|
||||
if q & 0xFFFF:
|
||||
raise RevlogError(_('incompatible revision flag %x') % q)
|
||||
return int(q >> 16)
|
||||
|
||||
def gettype(q):
|
||||
return int(q & 0xFFFF)
|
||||
|
||||
def offset_type(offset, type):
|
||||
return long(long(offset) << 16 | type)
|
||||
|
||||
def hash(text, p1, p2):
|
||||
"""generate a hash from the given text and its parent hashes
|
||||
|
||||
@ -68,22 +81,6 @@ def decompress(bin):
|
||||
return bin[1:]
|
||||
raise RevlogError(_("unknown compression type %r") % t)
|
||||
|
||||
indexformatv0 = ">4l20s20s20s"
|
||||
v0shaoffset = 56
|
||||
# index ng:
|
||||
# 6 bytes offset
|
||||
# 2 bytes flags
|
||||
# 4 bytes compressed length
|
||||
# 4 bytes uncompressed length
|
||||
# 4 bytes: base rev
|
||||
# 4 bytes link rev
|
||||
# 4 bytes parent 1 rev
|
||||
# 4 bytes parent 2 rev
|
||||
# 32 bytes: nodeid
|
||||
indexformatng = ">Qiiiiii20s12x"
|
||||
ngshaoffset = 32
|
||||
versionformat = ">I"
|
||||
|
||||
class lazyparser(object):
|
||||
"""
|
||||
this class avoids the need to parse the entirety of large indices
|
||||
@ -289,21 +286,8 @@ class lazymap(object):
|
||||
def __delitem__(self, key):
|
||||
del self.p.map[key]
|
||||
|
||||
class RevlogError(Exception):
|
||||
pass
|
||||
class LookupError(RevlogError):
|
||||
pass
|
||||
|
||||
def getoffset(q):
|
||||
if q & 0xFFFF:
|
||||
raise RevlogError(_('incompatible revision flag %x') % q)
|
||||
return int(q >> 16)
|
||||
|
||||
def gettype(q):
|
||||
return int(q & 0xFFFF)
|
||||
|
||||
def offset_type(offset, type):
|
||||
return long(long(offset) << 16 | type)
|
||||
indexformatv0 = ">4l20s20s20s"
|
||||
v0shaoffset = 56
|
||||
|
||||
class revlogoldio(object):
|
||||
def __init__(self):
|
||||
@ -334,6 +318,20 @@ class revlogoldio(object):
|
||||
node(entry[5]), node(entry[6]), entry[7])
|
||||
return struct.pack(indexformatv0, *e2)
|
||||
|
||||
# index ng:
|
||||
# 6 bytes offset
|
||||
# 2 bytes flags
|
||||
# 4 bytes compressed length
|
||||
# 4 bytes uncompressed length
|
||||
# 4 bytes: base rev
|
||||
# 4 bytes link rev
|
||||
# 4 bytes parent 1 rev
|
||||
# 4 bytes parent 2 rev
|
||||
# 32 bytes: nodeid
|
||||
indexformatng = ">Qiiiiii20s12x"
|
||||
ngshaoffset = 32
|
||||
versionformat = ">I"
|
||||
|
||||
class revlogio(object):
|
||||
def __init__(self):
|
||||
self.size = struct.calcsize(indexformatng)
|
||||
@ -1253,5 +1251,3 @@ class revlog(object):
|
||||
di = 0
|
||||
|
||||
return (dd, di)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user