comparison mercurial/revlog.py @ 43034:294afb982a88

sidedata: add a function to read sidedata from revlog raw text This implement the "reading" part of a `sidedata` flag processor. Differential Revision: https://phab.mercurial-scm.org/D6890
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 04 Sep 2019 00:59:15 +0200
parents 827cb4fe62a3
children 142deb539ccf
comparison
equal deleted inserted replaced
43033:21025a4107d4 43034:294afb982a88
1673 sidedata = {} 1673 sidedata = {}
1674 if raw: 1674 if raw:
1675 validatehash = flagutil.processflagsraw(self, rawtext, flags) 1675 validatehash = flagutil.processflagsraw(self, rawtext, flags)
1676 text = rawtext 1676 text = rawtext
1677 else: 1677 else:
1678 r = flagutil.processflagsread(self, rawtext, flags) 1678 try:
1679 r = flagutil.processflagsread(self, rawtext, flags)
1680 except error.SidedataHashError as exc:
1681 msg = _("integrity check failed on %s:%s sidedata key %d")
1682 msg %= (self.indexfile, pycompat.bytestr(rev),
1683 exc.sidedatakey)
1684 raise error.RevlogError(msg)
1679 text, validatehash, sidedata = r 1685 text, validatehash, sidedata = r
1680 if validatehash: 1686 if validatehash:
1681 self.checkhash(text, node, rev=rev) 1687 self.checkhash(text, node, rev=rev)
1682 if not validated: 1688 if not validated:
1683 self._revisioncache = (node, rev, rawtext) 1689 self._revisioncache = (node, rev, rawtext)