Mercurial > hg
annotate tests/revnamesext.py @ 51274:bec6e9c108fd
matchers: use correct method for finding index in vector
The path matcher has an optimization for when all paths are `rootfilesin:`. This
optimization exists in both Python and Rust. However, the Rust implementation
currently has a bug that makes it fail in most cases. The bug is that it
`rfind()` where it was clearly intended to use `rposition()`. This patch fixes
that and adds a test.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 18 Dec 2023 14:51:20 -0800 |
parents | 6000f5b25c9b |
children |
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 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
4 from mercurial import namespaces |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
5 |
33048
46fa46608ca5
namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
6 |
46fa46608ca5
namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 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
|
8 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
|
9 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
|
10 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
|
11 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
12 ns = namespaces.namespace( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
13 b'revnames', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
14 templatename=b'revname', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
15 logname=b'revname', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
16 listnames=lambda r: names.keys(), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
17 namemap=namemap, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
18 nodemap=nodemap, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36548
diff
changeset
|
19 ) |
33048
46fa46608ca5
namespaces: record and expose whether namespace is built-in
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
20 repo.names.addnamespace(ns) |