revlog: fix pure version of _partialmatch() to include nullid
Before this patch, test-issue842.t and a few more tests fail when they
try to refer to the null revision by using a "000.." prefix of it (or
because they use the "shortest" template function which internally
does that).
This should have been part of my a3dacabd476b (index: don't allow
index[len(index)] to mean nullid, 2018-07-20), but I had forgotten to
update another part of the pure code there, so it didn't fail until
a1f934573c0b (parsers: adjust pure-python version to mimic
a3dacabd476b, 2018-08-09) and 65d5de1169dd (revlog: fix pure nodemap
to not access missing index entry, 2018-08-17) fixed the other things
I had missed.
Differential Revision: https://phab.mercurial-scm.org/D4332
# extension to emulate interrupting filemerge._filemerge
from __future__ import absolute_import
from mercurial import (
error,
extensions,
filemerge,
)
def failfilemerge(filemergefn,
premerge, repo, wctx, mynode, orig, fcd, fco, fca,
labels=None):
raise error.Abort("^C")
return filemergefn(premerge, repo, mynode, orig, fcd, fco, fca, labels)
def extsetup(ui):
extensions.wrapfunction(filemerge, '_filemerge',
failfilemerge)