##// END OF EJS Templates
namespaces: record and expose whether namespace is built-in...
namespaces: record and expose whether namespace is built-in Currently, the templating layer tends to treat each namespace as a one-off, with explicit usage of {bookmarks}, {tags}, {branch}, etc instead of using {namespaces}. It would be really useful if we could iterate over namespaces and operate on them generically. However, some consumers may wish to differentiate namespaces by whether they are built-in to core Mercurial or provided by extensions. Expected use cases include ignoring non-built-in namespaces or emitting a generic label for non-built-in namespaces. This commit introduces an attribute on namespace instances that says whether the namespace is "built-in" and then exposes this to the templating layer. As part of this, we implement a reusable extension for defining custom names on each changeset for testing. A second consumer will be introduced in a subsequent commit.

File last commit:

r32940:75be1499 default
r33048:46fa4660 default
Show More
test-check-help.t
28 lines | 847 B | text/troff | Tads3Lexer
#require test-repo
$ . "$TESTDIR/helpers-testrepo.sh"
$ cat <<'EOF' > scanhelptopics.py
> from __future__ import absolute_import, print_function
> import re
> import sys
> if sys.platform == "win32":
> import os, msvcrt
> msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
> topics = set()
> topicre = re.compile(r':hg:`help ([a-z0-9\-.]+)`')
> for fname in sys.argv:
> with open(fname) as f:
> topics.update(m.group(1) for m in topicre.finditer(f.read()))
> for s in sorted(topics):
> print(s)
> EOF
$ cd "$TESTDIR"/..
Check if ":hg:`help TOPIC`" is valid:
(use "xargs -n1 -t" to see which help commands are executed)
$ hg files 'glob:{hgdemandimport,hgext,mercurial}/**/*.py' | sed 's|\\|/|g' \
> | xargs $PYTHON "$TESTTMP/scanhelptopics.py" \
> | xargs -n1 hg help > /dev/null