clone: avoid using repo.lookup() with binary nodeid
The code in hg.clone() is a bit of a mess, but it seems like the
"checkout" variable is always a binary nodeid (tests pass when run
with "assert len(checkout) == 20" before the
repo.lookup()). repo.lookup() will soon work only with string inputs,
so we need remove this use.
Differential Revision: https://phab.mercurial-scm.org/D3191
# Dummy extension to define a namespace containing revision names
from __future__ import absolute_import
from mercurial import (
namespaces,
)
def reposetup(ui, repo):
names = {b'r%d' % rev: repo[rev].node() for rev in repo}
namemap = lambda r, name: names.get(name)
nodemap = lambda r, node: [b'r%d' % repo[node].rev()]
ns = namespaces.namespace(b'revnames', templatename=b'revname',
logname=b'revname',
listnames=lambda r: names.keys(),
namemap=namemap, nodemap=nodemap)
repo.names.addnamespace(ns)