Mercurial > public > mercurial-scm > hg-stable
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 |