Mercurial > public > mercurial-scm > hg-stable
diff mercurial/parsers.c @ 23468:ee311681e591
parsers: ensure revlog index node tree is initialized before insertion
Currently, the revlog index C implementation assumes its node tree will be
initialized before a new element is inserted by revnum. For example, revlog.py
executes 'self.index.insert(-1, e)' in _addrevision(). This is only safe
because the node tree has been initialized by a "node in self.nodemap"
check made in addrevision().
(For context, this was discovered while developing an experimental revlog
mixin which stores "elided nodes" via a separate code path from
_addrevision(); that new code path segfaults without this patch.)
author | Mike Edgar <adgar@google.com> |
---|---|
date | Thu, 04 Dec 2014 12:02:02 -0500 |
parents | 42342f9afe01 |
children | fefa5f2a1730 |
line wrap: on
line diff