revlog: use appropriate format char for int ("i" instead of "I")
From https://docs.python.org/3.8/c-api/arg.html#numbers :
i (int) [int]
Convert a Python integer to a plain C int.
I (int) [unsigned int]
Convert a Python integer to a C unsigned int, without overflow checking.
revlog: use %d to format int instead of %lu (
issue6565)
The issue says gcc warns that the data types don't match. I couldn't reproduce
the warning locally for some reason, but this patch shouldn't break things.
Maybe %lu was simply a copy-paste error from
6b1eae313b2f
(https://phab.mercurial-scm.org/D10625).
rhg: correctly handle the case where diffs are encoded relative to nullrev
returning a valid entry for nullrev fix chain that delta against nullrev.
test-revlog: test a repository that contains a diff against nullrev
We are witnessing a crash in the rust code, so we lets make sure this case is
tested.
worker: adapt _blockingreader to work around a python3.8.[0-1] bug (
issue6444)
Python 3.8.0 is the latest I can load on Ubuntu 18.04, and I regularly hit the
TypeError because this function is missing. While it can be avoided by
disabling worker usage via config option, that's a bit obscure.
I'm limiting the function definition to the narrow range of affected pythons
because there were other bugs in this area that were worked around, that I don't
fully understand. See the bug report for discussions on why the narrow range,
and related commits working around other bugs.
Differential Revision: https://phab.mercurial-scm.org/D12627
filelog: show the passed argument on error
The error now do more than stating what it need. It also state what it got.