##// END OF EJS Templates
revsetlang: do not pass in non-bytes to parse()...
revsetlang: do not pass in non-bytes to parse() Since parse() isn't a simple function, we shouldn't expect it would raise TypeError or ValueError for invalid inputs. Before, TypeError was raised at 'if pos != len(spec)', which was quite late to report an error. This patch also makes tokenize() detect invalid object before converting it to a py3-safe bytes. Spotted while adding the 'revset(...)' hack to _parsewith().

File last commit:

r33048:46fa4660 default
r37793:03d7f885 default
Show More
revnamesext.py
18 lines | 619 B | text/x-python | PythonLexer
Gregory Szorc
namespaces: record and expose whether namespace is built-in...
r33048 # Dummy extension to define a namespace containing revision names
from __future__ import absolute_import
from mercurial import (
namespaces,
)
def reposetup(ui, repo):
Yuya Nishihara
py3: mark all string literals in test-command-template.t as bytes...
r36566 names = {b'r%d' % rev: repo[rev].node() for rev in repo}
Gregory Szorc
namespaces: record and expose whether namespace is built-in...
r33048 namemap = lambda r, name: names.get(name)
Yuya Nishihara
py3: mark all string literals in test-command-template.t as bytes...
r36566 nodemap = lambda r, node: [b'r%d' % repo[node].rev()]
Gregory Szorc
namespaces: record and expose whether namespace is built-in...
r33048
Yuya Nishihara
py3: mark all string literals in test-command-template.t as bytes...
r36566 ns = namespaces.namespace(b'revnames', templatename=b'revname',
logname=b'revname',
Gregory Szorc
namespaces: record and expose whether namespace is built-in...
r33048 listnames=lambda r: names.keys(),
namemap=namemap, nodemap=nodemap)
repo.names.addnamespace(ns)