comparison mercurial/unionrepo.py @ 47156:4292bed8da7c

revlog: make the index always return the same tuple It is simpler to manage the diferrence in on disk format in the internal index code itself and lets the rest of the code always handle the same object. This will become even more important when the data we store will be entirely different (for example the changelog does not need the "linkrev" field. We start with item reading, we will deal with item writing in the next changesets. Differential Revision: https://phab.mercurial-scm.org/D10568
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 03 May 2021 12:21:15 +0200
parents 4c041c71ec01
children 47ffc754989a
comparison
equal deleted inserted replaced
47155:ac72eee94035 47156:4292bed8da7c
52 self.repotiprev = n - 1 52 self.repotiprev = n - 1
53 self.bundlerevs = set() # used by 'bundle()' revset expression 53 self.bundlerevs = set() # used by 'bundle()' revset expression
54 for rev2 in self.revlog2: 54 for rev2 in self.revlog2:
55 rev = self.revlog2.index[rev2] 55 rev = self.revlog2.index[rev2]
56 # rev numbers - in revlog2, very different from self.rev 56 # rev numbers - in revlog2, very different from self.rev
57 _start, _csize, rsize, base, linkrev, p1rev, p2rev, node = rev 57 (
58 _start,
59 _csize,
60 rsize,
61 base,
62 linkrev,
63 p1rev,
64 p2rev,
65 node,
66 _sdo,
67 _sds,
68 ) = rev
58 flags = _start & 0xFFFF 69 flags = _start & 0xFFFF
59 70
60 if linkmapper is None: # link is to same revlog 71 if linkmapper is None: # link is to same revlog
61 assert linkrev == rev2 # we never link back 72 assert linkrev == rev2 # we never link back
62 link = n 73 link = n