py3: force bytestr conversion of "reason" in scmutil.callcatch()
For instance, reason may be an InvalidURL as shown in added test.
tests-pure: fixing test-parseindex2
This is a followup to D7603 (
49fa0b31ee1d) which broke
the tests for pure Python implementation. There are two
divergences between pure and C implementations:
- the pure implementation would accept only -1 as slice end,
whereas C accepts both -1 and len(index)
- in pure Python, `headrevs` is provided by revlog.py, not
by the index.
Differential Revision: https://phab.mercurial-scm.org/D7707
rust-index: add a function to convert PyObject index for hg-core
Function in hg-core need something implementing the `Graph` trait. Right now,
the `hg-cpython` entry points directly turn the PyObject passed as argument
into a `cindex::Index`. However, if we start having the option to use an Index
in Rust, we need to dispatch between the different possible PyObject we could
receive.
So move the "duplicate" call into a unified function. When time come. It will be
easy to update the logic of all interface when the time come.
Differential Revision: https://phab.mercurial-scm.org/D7653