treemanifest: return node index from _findsection

Summary:
Now that we have node indexes, let's return their location from _findsection.
Patch includes a slight rename to a constant that was poorly named as well.

Test Plan: Ran the tests

Reviewers: #mercurial, rmcelroy

Reviewed By: rmcelroy

Subscribers: mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4991385

Signature: t1:4991385:1493798906:c3147d00b6fc67b47191592032519afccf71e9af
This commit is contained in:
Durham Goode 2017-05-03 10:19:45 -07:00
parent 96ea7cd405
commit 16b8b169b7

View File

@ -21,7 +21,7 @@ NODEINDEXENTRYLENGTH = struct.calcsize(NODEINDEXFORMAT)
PACKFORMAT = "!20s20s20s20sH"
PACKENTRYLENGTH = 82
OFFSETSIZE = 4
ENTRYCOUNTSIZE = 4
INDEXSUFFIX = '.histidx'
PACKSUFFIX = '.histpack'
@ -131,7 +131,8 @@ class historypack(basepack.basepack):
def _getancestors(self, name, node, known=None):
if known is None:
known = set()
filename, offset, size = self._findsection(name)
section = self._findsection(name)
filename, offset, size, nodeindexoffset, nodeindexsize = section
pending = set((node,))
data = self._data[offset:offset + size]
o = 0
@ -163,7 +164,7 @@ class historypack(basepack.basepack):
(filename, hex(node)))
def _findnode(self, section, node):
name, offset, size = section
name, offset, size, nodeindexoffset, nodeindexsize = section
data = self._data
o = offset
while o < offset + size:
@ -261,12 +262,14 @@ class historypack(basepack.basepack):
raise KeyError("found file name %s when looking for %s" %
(actualname, name))
struct.unpack('!I', self._data[offset:offset +
OFFSETSIZE])[0]
offset += OFFSETSIZE
# Skip entry list size
offset += ENTRYCOUNTSIZE
return (name, offset, size - constants.FILENAMESIZE - filenamelength
- OFFSETSIZE)
nodelistoffset = offset
nodelistsize = (size - constants.FILENAMESIZE - filenamelength -
ENTRYCOUNTSIZE)
return (name, nodelistoffset, nodelistsize,
nodeindexoffset, nodeindexsize)
def markledger(self, ledger):
for filename, node in self:
@ -300,8 +303,8 @@ class historypack(basepack.basepack):
offset += filenamelen
revcount = struct.unpack('!I', data[offset:offset +
OFFSETSIZE])[0]
offset += OFFSETSIZE
ENTRYCOUNTSIZE])[0]
offset += ENTRYCOUNTSIZE
for i in xrange(revcount):
entry = struct.unpack(PACKFORMAT, data[offset:offset +