view tests/revnamesext.py @ 48480:cfb4f1dee978

pytype: stop excluding wireprotov2server.py This fixes: File "/mnt/c/Users/Matt/hg/mercurial/wireprotov2server.py", line 584, in _capabilitiesv2: unsupported operand type(s) for item assignment: Set[bytes] [unsupported-operands] No attribute '__setitem__' on Set[bytes] File "/mnt/c/Users/Matt/hg/mercurial/wireprotov2server.py", line 611, in _capabilitiesv2: No attribute 'append' on dict [attribute-error] In Union[List[bytes], List[nothing], dict] Called from (traceback): line 543, in httpv2apidescriptor Differential Revision: https://phab.mercurial-scm.org/D11919
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 13 Dec 2021 16:42:36 -0500
parents 2372284d9457
children 6000f5b25c9b
line wrap: on
line source

# 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)