annotate tests/revnamesext.py @ 44311:2b72c4ff8ed1

nodemap: use an intermediate "docket" file to carry small metadata This intermediate file will make mmapping, transaction and content validation easier. (Most of this usefulness will arrive gradually in later changeset). In particular it will become very useful to append new data are the end of raw file instead of rewriting on the file on each transaction. See in code comments for details. Differential Revision: https://phab.mercurial-scm.org/D7838
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 15 Jan 2020 15:47:50 +0100
parents 2372284d9457
children 6000f5b25c9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33048
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
1 # Dummy extension to define a namespace containing revision names
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
2
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
3 from __future__ import absolute_import
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
4
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
5 from mercurial import namespaces
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
6
33048
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
7
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
8 def reposetup(ui, repo):
36548
086fc71fbb09 py3: mark all string literals in test-command-template.t as bytes
Yuya Nishihara <yuya@tcha.org>
parents: 33048
diff changeset
9 names = {b'r%d' % rev: repo[rev].node() for rev in repo}
33048
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
10 namemap = lambda r, name: names.get(name)
36548
086fc71fbb09 py3: mark all string literals in test-command-template.t as bytes
Yuya Nishihara <yuya@tcha.org>
parents: 33048
diff changeset
11 nodemap = lambda r, node: [b'r%d' % repo[node].rev()]
33048
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
12
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
13 ns = namespaces.namespace(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
14 b'revnames',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
15 templatename=b'revname',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
16 logname=b'revname',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
17 listnames=lambda r: names.keys(),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
18 namemap=namemap,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
19 nodemap=nodemap,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36548
diff changeset
20 )
33048
46fa46608ca5 namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
21 repo.names.addnamespace(ns)