Mercurial > hg
annotate tests/test-extension.t @ 42068:896b19d12c08
cext: make parsers.c PY_SSIZE_T_CLEAN
This is needed to avoid a deprecation warning in Python 3.8. I believe
the conversion of int to Py_ssize_t is harmless in the changed
locations. But this being C code, it should be audited with care.
Differential Revision: https://phab.mercurial-scm.org/D6197
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 04 Apr 2019 15:21:30 -0700 |
parents | c70bdd222dcd |
children | c1850798f995 |
rev | line source |
---|---|
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1 Test basic extension support |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
2 $ cat > unflush.py <<EOF |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
3 > import sys |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
4 > from mercurial import pycompat |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
5 > if pycompat.ispy3: |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
6 > # no changes required |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
7 > sys.exit(0) |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
8 > with open(sys.argv[1], 'rb') as f: |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
9 > data = f.read() |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
10 > with open(sys.argv[1], 'wb') as f: |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
11 > f.write(data.replace(b', flush=True', b'')) |
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
12 > EOF |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
13 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
14 $ cat > foobar.py <<EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
15 > import os |
41047
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
16 > from mercurial import commands, exthelper, registrar |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
17 > |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
18 > eh = exthelper.exthelper() |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
19 > eh.configitem(b'tests', b'foo', default=b"Foo") |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
20 > |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
21 > uisetup = eh.finaluisetup |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
22 > uipopulate = eh.finaluipopulate |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
23 > reposetup = eh.finalreposetup |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
24 > cmdtable = eh.cmdtable |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
25 > configtable = eh.configtable |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
26 > |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
27 > @eh.uisetup |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
28 > def _uisetup(ui): |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
29 > ui.debug(b"uisetup called [debug]\\n") |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
30 > ui.write(b"uisetup called\\n") |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
31 > ui.status(b"uisetup called [status]\\n") |
28612
6fb1d3c936d2
tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents:
27990
diff
changeset
|
32 > ui.flush() |
41047
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
33 > @eh.uipopulate |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
34 > def _uipopulate(ui): |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
35 > ui._populatecnt = getattr(ui, "_populatecnt", 0) + 1 |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
36 > ui.write(b"uipopulate called (%d times)\n" % ui._populatecnt) |
41047
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
37 > @eh.reposetup |
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
38 > def _reposetup(ui, repo): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
39 > ui.write(b"reposetup called for %s\\n" % os.path.basename(repo.root)) |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
40 > ui.write(b"ui %s= repo.ui\\n" % (ui == repo.ui and b"=" or b"!")) |
28612
6fb1d3c936d2
tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents:
27990
diff
changeset
|
41 > ui.flush() |
41047
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
42 > @eh.command(b'foo', [], b'hg foo') |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
43 > def foo(ui, *args, **kwargs): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
44 > foo = ui.config(b'tests', b'foo') |
33132
c467d13334ee
configitems: add an official API for extensions to register config item
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
33099
diff
changeset
|
45 > ui.write(foo) |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
46 > ui.write(b"\\n") |
41047
555215e2b051
tests: convert a test extension to use exthelper
Matt Harbison <matt_harbison@yahoo.com>
parents:
41010
diff
changeset
|
47 > @eh.command(b'bar', [], b'hg bar', norepo=True) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
48 > def bar(ui, *args, **kwargs): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
49 > ui.write(b"Bar\\n") |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
50 > EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
51 $ abspath=`pwd`/foobar.py |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
52 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
53 $ mkdir barfoo |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
54 $ cp foobar.py barfoo/__init__.py |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
55 $ barfoopath=`pwd`/barfoo |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
56 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
57 $ hg init a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
58 $ cd a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
59 $ echo foo > file |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
60 $ hg add file |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
61 $ hg commit -m 'add file' |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
62 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
63 $ echo '[extensions]' >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
64 $ echo "foobar = $abspath" >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
65 $ hg foo |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
66 uisetup called |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
67 uisetup called [status] |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
68 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
69 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
70 uipopulate called (1 times) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
71 reposetup called for a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
72 ui == repo.ui |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
73 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
74 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
75 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
76 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
77 uipopulate called (1 times) (chg !) |
34841
6bfe43dd20eb
test-extension: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
34048
diff
changeset
|
78 reposetup called for a (chg !) |
6bfe43dd20eb
test-extension: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
34048
diff
changeset
|
79 ui == repo.ui (chg !) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
80 Foo |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
81 $ hg foo --quiet |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
82 uisetup called (no-chg !) |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
83 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
84 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
85 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
86 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
87 uipopulate called (1 times) (chg !) |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
88 reposetup called for a (chg !) |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
89 ui == repo.ui |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
90 Foo |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
91 $ hg foo --debug |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
92 uisetup called [debug] (no-chg !) |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
93 uisetup called (no-chg !) |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
94 uisetup called [status] (no-chg !) |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
95 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
96 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
97 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
98 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
99 uipopulate called (1 times) (chg !) |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
100 reposetup called for a (chg !) |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
101 ui == repo.ui |
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
102 Foo |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
103 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
104 $ cd .. |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
105 $ hg clone a b |
34841
6bfe43dd20eb
test-extension: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
34048
diff
changeset
|
106 uisetup called (no-chg !) |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
107 uisetup called [status] (no-chg !) |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
108 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
109 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
110 uipopulate called (1 times) (chg !) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
111 reposetup called for a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
112 ui == repo.ui |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
113 uipopulate called (1 times) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
114 reposetup called for b |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
115 ui == repo.ui |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
116 updating to branch default |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
117 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4569
622d8ed78b47
extensions: load modules in module/__init__.py form.
Brendan Cully <brendan@kublai.com>
parents:
4074
diff
changeset
|
118 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
119 $ hg bar |
34841
6bfe43dd20eb
test-extension: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
34048
diff
changeset
|
120 uisetup called (no-chg !) |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
121 uisetup called [status] (no-chg !) |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
122 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
123 uipopulate called (1 times) (chg !) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
124 Bar |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
125 $ echo 'foobar = !' >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
126 |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
127 module/__init__.py-style |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
128 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
129 $ echo "barfoo = $barfoopath" >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
130 $ cd a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
131 $ hg foo |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
132 uisetup called |
38534
b86664c81833
debug: process --debug flag earlier
Boris Feld <boris.feld@octobus.net>
parents:
38162
diff
changeset
|
133 uisetup called [status] |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
134 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
135 uipopulate called (1 times) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
136 uipopulate called (1 times) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
137 reposetup called for a |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
138 ui == repo.ui |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
139 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
140 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
141 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
142 uipopulate called (1 times) (chg !) |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
143 uipopulate called (1 times) (chg !) |
34841
6bfe43dd20eb
test-extension: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
34048
diff
changeset
|
144 reposetup called for a (chg !) |
6bfe43dd20eb
test-extension: make the test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
34048
diff
changeset
|
145 ui == repo.ui (chg !) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
146 Foo |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
147 $ echo 'barfoo = !' >> $HGRCPATH |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
148 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
149 Check that extensions are loaded in phases: |
4064
5d9ede002453
install reposetup hook right after loading the extension
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
150 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
151 $ cat > foo.py <<EOF |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
152 > from __future__ import print_function |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
153 > import os |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
154 > from mercurial import exthelper |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
155 > name = os.path.basename(__file__).rsplit('.', 1)[0] |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
156 > print("1) %s imported" % name, flush=True) |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
157 > eh = exthelper.exthelper() |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
158 > @eh.uisetup |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
159 > def _uisetup(ui): |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
160 > print("2) %s uisetup" % name, flush=True) |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
161 > @eh.extsetup |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
162 > def _extsetup(ui): |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
163 > print("3) %s extsetup" % name, flush=True) |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
164 > @eh.uipopulate |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
165 > def _uipopulate(ui): |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
166 > print("4) %s uipopulate" % name, flush=True) |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
167 > @eh.reposetup |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
168 > def _reposetup(ui, repo): |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
169 > print("5) %s reposetup" % name, flush=True) |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
170 > |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
171 > extsetup = eh.finalextsetup |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
172 > reposetup = eh.finalreposetup |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
173 > uipopulate = eh.finaluipopulate |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
174 > uisetup = eh.finaluisetup |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
175 > revsetpredicate = eh.revsetpredicate |
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
176 > |
39730
65b39c556c6d
py3: encode the name to bytes before using in revsetpredicate()
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39725
diff
changeset
|
177 > bytesname = name.encode('utf-8') |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
178 > # custom predicate to check registration of functions at loading |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
179 > from mercurial import ( |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
180 > smartset, |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
181 > ) |
41066
0358cca1dccf
exthelper: reintroduce the ability to register revsets
Matt Harbison <matt_harbison@yahoo.com>
parents:
41047
diff
changeset
|
182 > @eh.revsetpredicate(bytesname, safe=True) # safe=True for query via hgweb |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
183 > def custompredicate(repo, subset, x): |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
184 > return smartset.baseset([r for r in subset if r in {0}]) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
185 > EOF |
40872
07e181ed82ef
py3: quote several instances of $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40729
diff
changeset
|
186 $ "$PYTHON" $TESTTMP/unflush.py foo.py |
4569
622d8ed78b47
extensions: load modules in module/__init__.py form.
Brendan Cully <brendan@kublai.com>
parents:
4074
diff
changeset
|
187 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
188 $ cp foo.py bar.py |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
189 $ echo 'foo = foo.py' >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
190 $ echo 'bar = bar.py' >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
191 |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
192 Check normal command's load order of extensions and registration of functions |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
193 |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
194 $ hg log -r "foo() and bar()" -q |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
195 1) foo imported |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
196 1) bar imported |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
197 2) foo uisetup |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
198 2) bar uisetup |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
199 3) foo extsetup |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
200 3) bar extsetup |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
201 4) foo uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
202 4) bar uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
203 4) foo uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
204 4) bar uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
205 4) foo uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
206 4) bar uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
207 5) foo reposetup |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
208 5) bar reposetup |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
209 0:c24b9ac61126 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
210 |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
211 Check hgweb's load order of extensions and registration of functions |
4738
c41a404ac387
Handle extensions with defined but empty cmdtable
Brendan Cully <brendan@kublai.com>
parents:
4569
diff
changeset
|
212 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
213 $ cat > hgweb.cgi <<EOF |
32938
b6776b34e44e
tests: use $PYTHON in #! so we always use the right Python
Augie Fackler <augie@google.com>
parents:
32757
diff
changeset
|
214 > #!$PYTHON |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
215 > from mercurial import demandimport; demandimport.enable() |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
216 > from mercurial.hgweb import hgweb |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
217 > from mercurial.hgweb import wsgicgi |
39621
23b749b84b8a
py3: call hgweb.hgweb() with bytes values
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39221
diff
changeset
|
218 > application = hgweb(b'.', b'test repo') |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
219 > wsgicgi.launch(application) |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
220 > EOF |
33099
4a8db3538c39
tests: use cgienv to minimize environment setup at hgweb tests
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33098
diff
changeset
|
221 $ . "$TESTDIR/cgienv" |
9410
1c83938b6a8e
extensions: load and configure extensions in well-defined phases
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
222 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
39621
diff
changeset
|
223 $ PATH_INFO='/' SCRIPT_NAME='' "$PYTHON" hgweb.cgi \ |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
224 > | grep '^[0-9]) ' # ignores HTML output |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
225 1) foo imported |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
226 1) bar imported |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
227 2) foo uisetup |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
228 2) bar uisetup |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
229 3) foo extsetup |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
230 3) bar extsetup |
40729
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
231 4) foo uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
232 4) bar uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
233 4) foo uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
234 4) bar uipopulate |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
235 5) foo reposetup |
c93d046d4300
extensions: add "uipopulate" hook, called per instance, not per process
Yuya Nishihara <yuya@tcha.org>
parents:
40463
diff
changeset
|
236 5) bar reposetup |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
237 |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
238 (check that revset predicate foo() and bar() are available) |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
239 |
33098
c4a20c9484e7
tests: avoid test failure for mangling path-like string by MSYS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33097
diff
changeset
|
240 #if msys |
c4a20c9484e7
tests: avoid test failure for mangling path-like string by MSYS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33097
diff
changeset
|
241 $ PATH_INFO='//shortlog' |
c4a20c9484e7
tests: avoid test failure for mangling path-like string by MSYS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33097
diff
changeset
|
242 #else |
c4a20c9484e7
tests: avoid test failure for mangling path-like string by MSYS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33097
diff
changeset
|
243 $ PATH_INFO='/shortlog' |
c4a20c9484e7
tests: avoid test failure for mangling path-like string by MSYS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33097
diff
changeset
|
244 #endif |
c4a20c9484e7
tests: avoid test failure for mangling path-like string by MSYS
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
33097
diff
changeset
|
245 $ export PATH_INFO |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
39621
diff
changeset
|
246 $ SCRIPT_NAME='' QUERY_STRING='rev=foo() and bar()' "$PYTHON" hgweb.cgi \ |
33052
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
247 > | grep '<a href="/rev/[0-9a-z]*">' |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
248 <a href="/rev/c24b9ac61126">add file</a> |
45b0e9d05ee9
extensions: register functions always at loading extension (issue5601)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32938
diff
changeset
|
249 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
250 $ echo 'foo = !' >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
251 $ echo 'bar = !' >> $HGRCPATH |
9410
1c83938b6a8e
extensions: load and configure extensions in well-defined phases
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
252 |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
253 Check "from __future__ import absolute_import" support for external libraries |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
254 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
255 (import-checker.py reports issues for some of heredoc python code |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
256 fragments below, because import-checker.py does not know test specific |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
257 package hierarchy. NO_CHECK_* should be used as a limit mark of |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
258 heredoc, in order to make import-checker.py ignore them. For |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
259 simplicity, all python code fragments below are generated with such |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
260 limit mark, regardless of importing module or not.) |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
261 |
20001
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
262 #if windows |
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
263 $ PATHSEP=";" |
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
264 #else |
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
265 $ PATHSEP=":" |
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
266 #endif |
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
267 $ export PATHSEP |
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
268 |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
269 $ mkdir $TESTTMP/libroot |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
270 $ echo "s = 'libroot/ambig.py'" > $TESTTMP/libroot/ambig.py |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
271 $ mkdir $TESTTMP/libroot/mod |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
272 $ touch $TESTTMP/libroot/mod/__init__.py |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
273 $ echo "s = 'libroot/mod/ambig.py'" > $TESTTMP/libroot/mod/ambig.py |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
274 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
275 $ cat > $TESTTMP/libroot/mod/ambigabs.py <<NO_CHECK_EOF |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
276 > from __future__ import absolute_import, print_function |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
277 > import ambig # should load "libroot/ambig.py" |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
278 > s = ambig.s |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
279 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
280 $ cat > loadabs.py <<NO_CHECK_EOF |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
281 > import mod.ambigabs as ambigabs |
41068
28a4fb793ba1
extensions: deprecate extsetup without a `ui` argument (API)
Matt Harbison <matt_harbison@yahoo.com>
parents:
41066
diff
changeset
|
282 > def extsetup(ui): |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
283 > print('ambigabs.s=%s' % ambigabs.s, flush=True) |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
284 > NO_CHECK_EOF |
40872
07e181ed82ef
py3: quote several instances of $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40729
diff
changeset
|
285 $ "$PYTHON" $TESTTMP/unflush.py loadabs.py |
20001
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
286 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadabs=loadabs.py root) |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
287 ambigabs.s=libroot/ambig.py |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
288 $TESTTMP/a |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
289 |
40263
8cf459d8b111
py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents:
40206
diff
changeset
|
290 #if no-py3 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
291 $ cat > $TESTTMP/libroot/mod/ambigrel.py <<NO_CHECK_EOF |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
292 > from __future__ import print_function |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
293 > import ambig # should load "libroot/mod/ambig.py" |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
294 > s = ambig.s |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
295 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
296 $ cat > loadrel.py <<NO_CHECK_EOF |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
297 > import mod.ambigrel as ambigrel |
41068
28a4fb793ba1
extensions: deprecate extsetup without a `ui` argument (API)
Matt Harbison <matt_harbison@yahoo.com>
parents:
41066
diff
changeset
|
298 > def extsetup(ui): |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
299 > print('ambigrel.s=%s' % ambigrel.s, flush=True) |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
300 > NO_CHECK_EOF |
40872
07e181ed82ef
py3: quote several instances of $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40729
diff
changeset
|
301 $ "$PYTHON" $TESTTMP/unflush.py loadrel.py |
20001
a1f99a7f2d72
tests: choose the path separator in PYTHONPATH suitable for platform
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19933
diff
changeset
|
302 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}/libroot; hg --config extensions.loadrel=loadrel.py root) |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
303 ambigrel.s=libroot/mod/ambig.py |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
304 $TESTTMP/a |
19932
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
305 #endif |
e3a5922e18c3
demandimport: support "absolute_import" for external libraries (issue4029)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19822
diff
changeset
|
306 |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
307 Check absolute/relative import of extension specific modules |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
308 |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
309 $ mkdir $TESTTMP/extroot |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
310 $ cat > $TESTTMP/extroot/bar.py <<NO_CHECK_EOF |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
311 > s = b'this is extroot.bar' |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
312 > NO_CHECK_EOF |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
313 $ mkdir $TESTTMP/extroot/sub1 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
314 $ cat > $TESTTMP/extroot/sub1/__init__.py <<NO_CHECK_EOF |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
315 > s = b'this is extroot.sub1.__init__' |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
316 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
317 $ cat > $TESTTMP/extroot/sub1/baz.py <<NO_CHECK_EOF |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
318 > s = b'this is extroot.sub1.baz' |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
319 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
320 $ cat > $TESTTMP/extroot/__init__.py <<NO_CHECK_EOF |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
321 > from __future__ import absolute_import |
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
322 > s = b'this is extroot.__init__' |
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
323 > from . import foo |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
324 > def extsetup(ui): |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
325 > ui.write(b'(extroot) ', foo.func(), b'\n') |
28612
6fb1d3c936d2
tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents:
27990
diff
changeset
|
326 > ui.flush() |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
327 > NO_CHECK_EOF |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
328 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
329 $ cat > $TESTTMP/extroot/foo.py <<NO_CHECK_EOF |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
330 > # test absolute import |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
331 > buf = [] |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
332 > def func(): |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
333 > # "not locals" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
334 > import extroot.bar |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
335 > buf.append(b'import extroot.bar in func(): %s' % extroot.bar.s) |
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
336 > return b'\n(extroot) '.join(buf) |
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
337 > # b"fromlist == ('*',)" case |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
338 > from extroot.bar import * |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
339 > buf.append(b'from extroot.bar import *: %s' % s) |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
340 > # "not fromlist" and "if '.' in name" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
341 > import extroot.sub1.baz |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
342 > buf.append(b'import extroot.sub1.baz: %s' % extroot.sub1.baz.s) |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
343 > # "not fromlist" and NOT "if '.' in name" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
344 > import extroot |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
345 > buf.append(b'import extroot: %s' % extroot.s) |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
346 > # NOT "not fromlist" and NOT "level != -1" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
347 > from extroot.bar import s |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
348 > buf.append(b'from extroot.bar import s: %s' % s) |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
349 > NO_CHECK_EOF |
27491
28c1aa12f5de
test-extension: do not depend on demandimport (issue5012)
Jun Wu <quark@fb.com>
parents:
27152
diff
changeset
|
350 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}; hg --config extensions.extroot=$TESTTMP/extroot root) |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
351 (extroot) from extroot.bar import *: this is extroot.bar |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
352 (extroot) import extroot.sub1.baz: this is extroot.sub1.baz |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
353 (extroot) import extroot: this is extroot.__init__ |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
354 (extroot) from extroot.bar import s: this is extroot.bar |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
355 (extroot) import extroot.bar in func(): this is extroot.bar |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
356 $TESTTMP/a |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
357 |
40263
8cf459d8b111
py3: use py3 as the test tag, dropping the k
Martijn Pieters <mj@octobus.net>
parents:
40206
diff
changeset
|
358 #if no-py3 |
20002
83347ff50134
tests: quote environment variable to extract wildcard on MinGW environment
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20001
diff
changeset
|
359 $ rm "$TESTTMP"/extroot/foo.* |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
360 $ rm -Rf "$TESTTMP/extroot/__pycache__" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
361 $ cat > $TESTTMP/extroot/foo.py <<NO_CHECK_EOF |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
362 > # test relative import |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
363 > buf = [] |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
364 > def func(): |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
365 > # "not locals" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
366 > import bar |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
367 > buf.append('import bar in func(): %s' % bar.s) |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
368 > return '\n(extroot) '.join(buf) |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
369 > # "fromlist == ('*',)" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
370 > from bar import * |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
371 > buf.append('from bar import *: %s' % s) |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
372 > # "not fromlist" and "if '.' in name" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
373 > import sub1.baz |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
374 > buf.append('import sub1.baz: %s' % sub1.baz.s) |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
375 > # "not fromlist" and NOT "if '.' in name" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
376 > import sub1 |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
377 > buf.append('import sub1: %s' % sub1.s) |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
378 > # NOT "not fromlist" and NOT "level != -1" case |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
379 > from bar import s |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
380 > buf.append('from bar import s: %s' % s) |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
381 > NO_CHECK_EOF |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
382 $ hg --config extensions.extroot=$TESTTMP/extroot root |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
383 (extroot) from bar import *: this is extroot.bar |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
384 (extroot) import sub1.baz: this is extroot.sub1.baz |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
385 (extroot) import sub1: this is extroot.sub1.__init__ |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
386 (extroot) from bar import s: this is extroot.bar |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
387 (extroot) import bar in func(): this is extroot.bar |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
388 $TESTTMP/a |
19933
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
389 #endif |
621a26eb3a99
demandimport: allow extensions to import own modules by absolute name
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19932
diff
changeset
|
390 |
33528
c384ac3ea147
tests: drop "absimport" conditionals which should be always true
Yuya Nishihara <yuya@tcha.org>
parents:
33287
diff
changeset
|
391 #if demandimport |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
392 |
30332
318a24b52eeb
spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents:
30306
diff
changeset
|
393 Examine whether module loading is delayed until actual referring, even |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
394 though module is imported with "absolute_import" feature. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
395 |
30332
318a24b52eeb
spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents:
30306
diff
changeset
|
396 Files below in each packages are used for described purpose: |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
397 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
398 - "called": examine whether "from MODULE import ATTR" works correctly |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
399 - "unused": examine whether loading is delayed correctly |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
400 - "used": examine whether "from PACKAGE import MODULE" works correctly |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
401 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
402 Package hierarchy is needed to examine whether demand importing works |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
403 as expected for "from SUB.PACK.AGE import MODULE". |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
404 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
405 Setup "external library" to be imported with "absolute_import" |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
406 feature. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
407 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
408 $ mkdir -p $TESTTMP/extlibroot/lsub1/lsub2 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
409 $ touch $TESTTMP/extlibroot/__init__.py |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
410 $ touch $TESTTMP/extlibroot/lsub1/__init__.py |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
411 $ touch $TESTTMP/extlibroot/lsub1/lsub2/__init__.py |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
412 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
413 $ cat > $TESTTMP/extlibroot/lsub1/lsub2/called.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
414 > def func(): |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
415 > return b"this is extlibroot.lsub1.lsub2.called.func()" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
416 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
417 $ cat > $TESTTMP/extlibroot/lsub1/lsub2/unused.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
418 > raise Exception("extlibroot.lsub1.lsub2.unused is loaded unintentionally") |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
419 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
420 $ cat > $TESTTMP/extlibroot/lsub1/lsub2/used.py <<NO_CHECK_EOF |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
421 > detail = b"this is extlibroot.lsub1.lsub2.used" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
422 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
423 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
424 Setup sub-package of "external library", which causes instantiation of |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
425 demandmod in "recurse down the module chain" code path. Relative |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
426 importing with "absolute_import" feature isn't tested, because "level |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
427 >=1 " doesn't cause instantiation of demandmod. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
428 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
429 $ mkdir -p $TESTTMP/extlibroot/recursedown/abs |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
430 $ cat > $TESTTMP/extlibroot/recursedown/abs/used.py <<NO_CHECK_EOF |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
431 > detail = b"this is extlibroot.recursedown.abs.used" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
432 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
433 $ cat > $TESTTMP/extlibroot/recursedown/abs/__init__.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
434 > from __future__ import absolute_import |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
435 > from extlibroot.recursedown.abs.used import detail |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
436 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
437 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
438 $ mkdir -p $TESTTMP/extlibroot/recursedown/legacy |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
439 $ cat > $TESTTMP/extlibroot/recursedown/legacy/used.py <<NO_CHECK_EOF |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
440 > detail = b"this is extlibroot.recursedown.legacy.used" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
441 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
442 $ cat > $TESTTMP/extlibroot/recursedown/legacy/__init__.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
443 > # legacy style (level == -1) import |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
444 > from extlibroot.recursedown.legacy.used import detail |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
445 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
446 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
447 $ cat > $TESTTMP/extlibroot/recursedown/__init__.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
448 > from __future__ import absolute_import |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
449 > from extlibroot.recursedown.abs import detail as absdetail |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
450 > from .legacy import detail as legacydetail |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
451 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
452 |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
453 Setup package that re-exports an attribute of its submodule as the same |
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
454 name. This leaves 'shadowing.used' pointing to 'used.detail', but still |
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
455 the submodule 'used' should be somehow accessible. (issue5617) |
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
456 |
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
457 $ mkdir -p $TESTTMP/extlibroot/shadowing |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
458 $ cat > $TESTTMP/extlibroot/shadowing/used.py <<NO_CHECK_EOF |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
459 > detail = b"this is extlibroot.shadowing.used" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
460 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
461 $ cat > $TESTTMP/extlibroot/shadowing/proxied.py <<NO_CHECK_EOF |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
462 > from __future__ import absolute_import |
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
463 > from extlibroot.shadowing.used import detail |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
464 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
465 $ cat > $TESTTMP/extlibroot/shadowing/__init__.py <<NO_CHECK_EOF |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
466 > from __future__ import absolute_import |
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
467 > from .used import detail as used |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
468 > NO_CHECK_EOF |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
469 |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
470 Setup extension local modules to be imported with "absolute_import" |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
471 feature. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
472 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
473 $ mkdir -p $TESTTMP/absextroot/xsub1/xsub2 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
474 $ touch $TESTTMP/absextroot/xsub1/__init__.py |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
475 $ touch $TESTTMP/absextroot/xsub1/xsub2/__init__.py |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
476 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
477 $ cat > $TESTTMP/absextroot/xsub1/xsub2/called.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
478 > def func(): |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
479 > return b"this is absextroot.xsub1.xsub2.called.func()" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
480 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
481 $ cat > $TESTTMP/absextroot/xsub1/xsub2/unused.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
482 > raise Exception("absextroot.xsub1.xsub2.unused is loaded unintentionally") |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
483 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
484 $ cat > $TESTTMP/absextroot/xsub1/xsub2/used.py <<NO_CHECK_EOF |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
485 > detail = b"this is absextroot.xsub1.xsub2.used" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
486 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
487 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
488 Setup extension local modules to examine whether demand importing |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
489 works as expected in "level > 1" case. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
490 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
491 $ cat > $TESTTMP/absextroot/relimportee.py <<NO_CHECK_EOF |
39725
be396c86f98e
py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39707
diff
changeset
|
492 > detail = b"this is absextroot.relimportee" |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
493 > NO_CHECK_EOF |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
494 $ cat > $TESTTMP/absextroot/xsub1/xsub2/relimporter.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
495 > from __future__ import absolute_import |
40183
0173ed47a873
tests: fix a repr on python3 in test-extension.t
Augie Fackler <augie@google.com>
parents:
40182
diff
changeset
|
496 > from mercurial import pycompat |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
497 > from ... import relimportee |
40183
0173ed47a873
tests: fix a repr on python3 in test-extension.t
Augie Fackler <augie@google.com>
parents:
40182
diff
changeset
|
498 > detail = b"this relimporter imports %r" % ( |
0173ed47a873
tests: fix a repr on python3 in test-extension.t
Augie Fackler <augie@google.com>
parents:
40182
diff
changeset
|
499 > pycompat.bytestr(relimportee.detail)) |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
500 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
501 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
502 Setup modules, which actually import extension local modules at |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
503 runtime. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
504 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
505 $ cat > $TESTTMP/absextroot/absolute.py << NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
506 > from __future__ import absolute_import |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
507 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
508 > # import extension local modules absolutely (level = 0) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
509 > from absextroot.xsub1.xsub2 import used, unused |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
510 > from absextroot.xsub1.xsub2.called import func |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
511 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
512 > def getresult(): |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
513 > result = [] |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
514 > result.append(used.detail) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
515 > result.append(func()) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
516 > return result |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
517 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
518 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
519 $ cat > $TESTTMP/absextroot/relative.py << NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
520 > from __future__ import absolute_import |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
521 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
522 > # import extension local modules relatively (level == 1) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
523 > from .xsub1.xsub2 import used, unused |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
524 > from .xsub1.xsub2.called import func |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
525 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
526 > # import a module, which implies "importing with level > 1" |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
527 > from .xsub1.xsub2 import relimporter |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
528 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
529 > def getresult(): |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
530 > result = [] |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
531 > result.append(used.detail) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
532 > result.append(func()) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
533 > result.append(relimporter.detail) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
534 > return result |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
535 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
536 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
537 Setup main procedure of extension. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
538 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
539 $ cat > $TESTTMP/absextroot/__init__.py <<NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
540 > from __future__ import absolute_import |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
541 > from mercurial import registrar |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
542 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
543 > command = registrar.command(cmdtable) |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
544 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
545 > # "absolute" and "relative" shouldn't be imported before actual |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
546 > # command execution, because (1) they import same modules, and (2) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
547 > # preceding import (= instantiate "demandmod" object instead of |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
548 > # real "module" object) might hide problem of succeeding import. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
549 > |
33097
fce4ed2912bb
py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33052
diff
changeset
|
550 > @command(b'showabsolute', [], norepo=True) |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
551 > def showabsolute(ui, *args, **opts): |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
552 > from absextroot import absolute |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
553 > ui.write(b'ABS: %s\n' % b'\nABS: '.join(absolute.getresult())) |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
554 > |
33097
fce4ed2912bb
py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33052
diff
changeset
|
555 > @command(b'showrelative', [], norepo=True) |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
556 > def showrelative(ui, *args, **opts): |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
557 > from . import relative |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
558 > ui.write(b'REL: %s\n' % b'\nREL: '.join(relative.getresult())) |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
559 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
560 > # import modules from external library |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
561 > from extlibroot.lsub1.lsub2 import used as lused, unused as lunused |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
562 > from extlibroot.lsub1.lsub2.called import func as lfunc |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
563 > from extlibroot.recursedown import absdetail, legacydetail |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
564 > from extlibroot.shadowing import proxied |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
565 > |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
566 > def uisetup(ui): |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
567 > result = [] |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
568 > result.append(lused.detail) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
569 > result.append(lfunc()) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
570 > result.append(absdetail) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
571 > result.append(legacydetail) |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
572 > result.append(proxied.detail) |
40182
b348fe5f5c36
tests: so many b prefixes in test-extension.t
Augie Fackler <augie@google.com>
parents:
40181
diff
changeset
|
573 > ui.write(b'LIB: %s\n' % b'\nLIB: '.join(result)) |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
574 > NO_CHECK_EOF |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
575 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
576 Examine module importing. |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
577 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
578 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}; hg --config extensions.absextroot=$TESTTMP/absextroot showabsolute) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
579 LIB: this is extlibroot.lsub1.lsub2.used |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
580 LIB: this is extlibroot.lsub1.lsub2.called.func() |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
581 LIB: this is extlibroot.recursedown.abs.used |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
582 LIB: this is extlibroot.recursedown.legacy.used |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
583 LIB: this is extlibroot.shadowing.used |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
584 ABS: this is absextroot.xsub1.xsub2.used |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
585 ABS: this is absextroot.xsub1.xsub2.called.func() |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
586 |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
587 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}; hg --config extensions.absextroot=$TESTTMP/absextroot showrelative) |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
588 LIB: this is extlibroot.lsub1.lsub2.used |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
589 LIB: this is extlibroot.lsub1.lsub2.called.func() |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
590 LIB: this is extlibroot.recursedown.abs.used |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
591 LIB: this is extlibroot.recursedown.legacy.used |
33531
9cbbf9118c6c
demandimport: prefer loaded module over package attribute (issue5617)
Yuya Nishihara <yuya@tcha.org>
parents:
33529
diff
changeset
|
592 LIB: this is extlibroot.shadowing.used |
29375
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
593 REL: this is absextroot.xsub1.xsub2.used |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
594 REL: this is absextroot.xsub1.xsub2.called.func() |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
595 REL: this relimporter imports 'this is absextroot.relimportee' |
fcaf20175b1b
demandimport: delay loading for "from a import b" with absolute_import
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29198
diff
changeset
|
596 |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
597 Examine whether sub-module is imported relatively as expected. |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
598 |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
599 See also issue5208 for detail about example case on Python 3.x. |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
600 |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
601 $ f -q $TESTTMP/extlibroot/lsub1/lsub2/notexist.py |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
602 $TESTTMP/extlibroot/lsub1/lsub2/notexist.py: file not found |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
603 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
604 $ cat > $TESTTMP/notexist.py <<NO_CHECK_EOF |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
605 > text = 'notexist.py at root is loaded unintentionally\n' |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
606 > NO_CHECK_EOF |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
607 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
608 $ cat > $TESTTMP/checkrelativity.py <<NO_CHECK_EOF |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
609 > from mercurial import registrar |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
610 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
611 > command = registrar.command(cmdtable) |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
612 > |
41508
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
613 > # demand import avoids failure of importing notexist here, but only on |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
614 > # Python 2. |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
615 > import extlibroot.lsub1.lsub2.notexist |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
616 > |
33097
fce4ed2912bb
py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33052
diff
changeset
|
617 > @command(b'checkrelativity', [], norepo=True) |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
618 > def checkrelativity(ui, *args, **opts): |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
619 > try: |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
620 > ui.write(extlibroot.lsub1.lsub2.notexist.text) |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
621 > return 1 # unintentional success |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
622 > except ImportError: |
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
623 > pass # intentional failure |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
624 > NO_CHECK_EOF |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
625 |
41508
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
626 Python 3's lazy importer verifies modules exist before returning the lazy |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
627 module stub. Our custom lazy importer for Python 2 always returns a stub. |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
628 |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
629 $ (PYTHONPATH=${PYTHONPATH}${PATHSEP}${TESTTMP}; hg --config extensions.checkrelativity=$TESTTMP/checkrelativity.py checkrelativity) || true |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
630 *** failed to import extension checkrelativity from $TESTTMP/checkrelativity.py: No module named 'extlibroot.lsub1.lsub2.notexist' (py3 !) |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
631 hg: unknown command 'checkrelativity' (py3 !) |
b0865b5919c6
py3: account for demand import difference between Python versions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
41487
diff
changeset
|
632 (use 'hg help' for a list of commands) (py3 !) |
29736
14f077f7519a
demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29375
diff
changeset
|
633 |
34844
f0a62afd1e40
tests: move baduisetup() test out of "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
34843
diff
changeset
|
634 #endif |
f0a62afd1e40
tests: move baduisetup() test out of "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
34843
diff
changeset
|
635 |
40206
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
636 (Here, module importing tests are finished. Therefore, use other than |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
637 NO_CHECK_* limit mark for heredoc python files, in order to apply |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
638 import-checker.py or so on their contents) |
37295cee1a15
tests: use NO_CHECK_EOF for fragments used to test importing via extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40205
diff
changeset
|
639 |
33939
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
640 Make sure a broken uisetup doesn't globally break hg: |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
641 $ cat > $TESTTMP/baduisetup.py <<EOF |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
642 > def uisetup(ui): |
41738
c70bdd222dcd
tests: bulk changes to avoid whitespace errors of check-code.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
41736
diff
changeset
|
643 > 1 / 0 |
33939
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
644 > EOF |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
645 |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
646 Even though the extension fails during uisetup, hg is still basically usable: |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
647 $ hg --config extensions.baduisetup=$TESTTMP/baduisetup.py version |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
648 Traceback (most recent call last): |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
649 File "*/mercurial/extensions.py", line *, in _runuisetup (glob) |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
650 uisetup(ui) |
34843
df871c41bd00
tests: make test-extension.t's baduisetup.py test fail even if bdiff exists
Martin von Zweigbergk <martinvonz@google.com>
parents:
34841
diff
changeset
|
651 File "$TESTTMP/baduisetup.py", line 2, in uisetup |
41738
c70bdd222dcd
tests: bulk changes to avoid whitespace errors of check-code.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
41736
diff
changeset
|
652 1 / 0 |
40184
c3b7d9c54edd
tests: glob away some annoying py3 differences
Augie Fackler <augie@google.com>
parents:
40183
diff
changeset
|
653 ZeroDivisionError: * by zero (glob) |
c3b7d9c54edd
tests: glob away some annoying py3 differences
Augie Fackler <augie@google.com>
parents:
40183
diff
changeset
|
654 *** failed to set up extension baduisetup: * by zero (glob) |
33939
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
655 Mercurial Distributed SCM (version *) (glob) |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
656 (see https://mercurial-scm.org for more information) |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
657 |
35773
eb878d863195
tests: glob copyright years in test-extension.t
Anton Shestakov <av6@dwimlabs.net>
parents:
35393
diff
changeset
|
658 Copyright (C) 2005-* Matt Mackall and others (glob) |
33939
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
659 This is free software; see the source for copying conditions. There is NO |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
660 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
9d5d040160e6
tests: move baduisetup test inside "#if demandimport"
Martin von Zweigbergk <martinvonz@google.com>
parents:
33736
diff
changeset
|
661 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
662 $ cd .. |
9661
c4f6c02e33c4
hgweb: added test case for extension loading phases (issue1824)
Yuya Nishihara <yuya@tcha.org>
parents:
9410
diff
changeset
|
663 |
17014
50fbe9063ff2
tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16853
diff
changeset
|
664 hide outer repo |
50fbe9063ff2
tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16853
diff
changeset
|
665 $ hg init |
50fbe9063ff2
tests: convert some 'hghave no-outer-repo' to #if
Mads Kiilerich <mads@kiilerich.com>
parents:
16853
diff
changeset
|
666 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
667 $ cat > empty.py <<EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
668 > '''empty cmdtable |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
669 > ''' |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
670 > cmdtable = {} |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
671 > EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
672 $ emptypath=`pwd`/empty.py |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
673 $ echo "empty = $emptypath" >> $HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
674 $ hg help empty |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
675 empty extension - empty cmdtable |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
676 |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
677 no commands defined |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
678 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
679 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
680 $ echo 'empty = !' >> $HGRCPATH |
9661
c4f6c02e33c4
hgweb: added test case for extension loading phases (issue1824)
Yuya Nishihara <yuya@tcha.org>
parents:
9410
diff
changeset
|
681 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
682 $ cat > debugextension.py <<EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
683 > '''only debugcommands |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
684 > ''' |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
685 > from mercurial import registrar |
21254
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
20003
diff
changeset
|
686 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
687 > command = registrar.command(cmdtable) |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
688 > @command(b'debugfoobar', [], b'hg debugfoobar') |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
689 > def debugfoobar(ui, repo, *args, **opts): |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
690 > "yet another debug command" |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
691 > @command(b'foo', [], b'hg foo') |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
692 > def foo(ui, repo, *args, **opts): |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
693 > """yet another foo command |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
694 > This command has been DEPRECATED since forever. |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
695 > """ |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
696 > EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
697 $ debugpath=`pwd`/debugextension.py |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
698 $ echo "debugextension = $debugpath" >> $HGRCPATH |
9410
1c83938b6a8e
extensions: load and configure extensions in well-defined phases
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
699 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
700 $ hg help debugextension |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
701 hg debugextensions |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
702 |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
703 show information about active extensions |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
704 |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
705 options: |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
706 |
39931
0d703063d0c8
formatter: remove experimental marker from -T option
Yuya Nishihara <yuya@tcha.org>
parents:
39730
diff
changeset
|
707 -T --template TEMPLATE display with template |
0d703063d0c8
formatter: remove experimental marker from -T option
Yuya Nishihara <yuya@tcha.org>
parents:
39730
diff
changeset
|
708 |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
709 (some details hidden, use --verbose to show complete help) |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4738
diff
changeset
|
710 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
711 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
712 $ hg --verbose help debugextension |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
713 hg debugextensions |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
714 |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
715 show information about active extensions |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
716 |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
717 options: |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
718 |
39931
0d703063d0c8
formatter: remove experimental marker from -T option
Yuya Nishihara <yuya@tcha.org>
parents:
39730
diff
changeset
|
719 -T --template TEMPLATE display with template |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
720 |
22117
c1d93edcf004
help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents:
22113
diff
changeset
|
721 global options ([+] can be repeated): |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
722 |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
723 -R --repository REPO repository root directory or name of overlay bundle |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
724 file |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
725 --cwd DIR change working directory |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
726 -y --noninteractive do not prompt, automatically pick the first choice for |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
727 all prompts |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
728 -q --quiet suppress output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
729 -v --verbose enable additional output |
31104
8346b2f09e79
color: add the definition of '--color' in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30993
diff
changeset
|
730 --color TYPE when to colorize (boolean, always, auto, never, or |
31123
df0a0734304a
color: update main documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31110
diff
changeset
|
731 debug) |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
732 --config CONFIG [+] set/override config option (use 'section.name=value') |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
733 --debug enable debugging output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
734 --debugger start debugger |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
735 --encoding ENCODE set the charset encoding (default: ascii) |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
736 --encodingmode MODE set the charset encoding mode (default: strict) |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
737 --traceback always print a traceback on exception |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
738 --time time how long the command takes |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
739 --profile print command execution profile |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
740 --version output version information and exit |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
741 -h --help display help and exit |
41010
e8e2a7656e83
help: hide default value for default-off flags
Martin von Zweigbergk <martinvonz@google.com>
parents:
41009
diff
changeset
|
742 --hidden consider hidden changesets |
30993
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
743 --pager TYPE when to paginate (boolean, always, auto, or never) |
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
744 (default: auto) |
9128
98d90ad54749
commands: hide deprecated commands.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
8189
diff
changeset
|
745 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
746 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
747 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
748 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
749 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
750 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
751 $ hg --debug help debugextension |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
752 hg debugextensions |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
753 |
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
754 show information about active extensions |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
755 |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
756 options: |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
757 |
39931
0d703063d0c8
formatter: remove experimental marker from -T option
Yuya Nishihara <yuya@tcha.org>
parents:
39730
diff
changeset
|
758 -T --template TEMPLATE display with template |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
759 |
22117
c1d93edcf004
help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents:
22113
diff
changeset
|
760 global options ([+] can be repeated): |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
761 |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
762 -R --repository REPO repository root directory or name of overlay bundle |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
763 file |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
764 --cwd DIR change working directory |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
765 -y --noninteractive do not prompt, automatically pick the first choice for |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
766 all prompts |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
767 -q --quiet suppress output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
768 -v --verbose enable additional output |
31104
8346b2f09e79
color: add the definition of '--color' in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30993
diff
changeset
|
769 --color TYPE when to colorize (boolean, always, auto, never, or |
31123
df0a0734304a
color: update main documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31110
diff
changeset
|
770 debug) |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
771 --config CONFIG [+] set/override config option (use 'section.name=value') |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
772 --debug enable debugging output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
773 --debugger start debugger |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
774 --encoding ENCODE set the charset encoding (default: ascii) |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
775 --encodingmode MODE set the charset encoding mode (default: strict) |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
776 --traceback always print a traceback on exception |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
777 --time time how long the command takes |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
778 --profile print command execution profile |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
779 --version output version information and exit |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
780 -h --help display help and exit |
41010
e8e2a7656e83
help: hide default value for default-off flags
Martin von Zweigbergk <martinvonz@google.com>
parents:
41009
diff
changeset
|
781 --hidden consider hidden changesets |
30993
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
782 --pager TYPE when to paginate (boolean, always, auto, or never) |
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
783 (default: auto) |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
784 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
785 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
786 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
787 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
788 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
789 $ echo 'debugextension = !' >> $HGRCPATH |
7011
7da76778dbd7
Do not try to load extensions twice (issue811)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5523
diff
changeset
|
790 |
27152
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
791 Asking for help about a deprecated extension should do something useful: |
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
792 |
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
793 $ hg help glog |
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
794 'glog' is provided by the following extension: |
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
795 |
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
796 graphlog command to view revision graphs from a shell (DEPRECATED) |
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
797 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
798 (use 'hg help extensions' for information on enabling extensions) |
27152
ac27b1b3be85
help: make help deprecated mention the extension
timeless <timeless@mozdev.org>
parents:
27142
diff
changeset
|
799 |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
800 Extension module help vs command help: |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
801 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
802 $ echo 'extdiff =' >> $HGRCPATH |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
803 $ hg help extdiff |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
804 hg extdiff [OPT]... [FILE]... |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
805 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
806 use external program to diff repository (or selected files) |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
807 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
808 Show differences between revisions for the specified files, using an |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
809 external program. The default program used is diff, with default options |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
810 "-Npru". |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
811 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
812 To select a different program, use the -p/--program option. The program |
41487
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
813 will be passed the names of two directories to compare, unless the --per- |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
814 file option is specified (see below). To pass additional options to the |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
815 program, use -o/--option. These will be passed before the names of the |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
816 directories or files to compare. |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
817 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
818 When two revision arguments are given, then changes are shown between |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
819 those revisions. If only one revision is specified then that revision is |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
820 compared to the working directory, and, when no revisions are specified, |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
821 the working directory files are compared to its parent. |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
822 |
41487
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
823 The --per-file option runs the external program repeatedly on each file to |
41584
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
824 diff, instead of once on two directories. By default, this happens one by |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
825 one, where the next file diff is open in the external program only once |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
826 the previous external program (for the previous file diff) has exited. If |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
827 the external program has a graphical interface, it can open all the file |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
828 diffs at once instead of one by one. See 'hg help -e extdiff' for |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
829 information about how to tell Mercurial that a given program has a |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
830 graphical interface. |
41487
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
831 |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
832 The --confirm option will prompt the user before each invocation of the |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
833 external program. It is ignored if --per-file isn't specified. |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
834 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
835 (use 'hg help -e extdiff' to show help for the extdiff extension) |
14285
aa64a87b493d
help: give hint about 'hg help -e' when appropriate
Martin Geisler <mg@aragost.com>
parents:
14284
diff
changeset
|
836 |
22117
c1d93edcf004
help: fold repeatable option message into option table header
Matt Mackall <mpm@selenic.com>
parents:
22113
diff
changeset
|
837 options ([+] can be repeated): |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
838 |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
839 -p --program CMD comparison program to run |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
840 -o --option OPT [+] pass option to comparison program |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
841 -r --rev REV [+] revision |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
842 -c --change REV change made by revision |
41487
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
843 --per-file compare each file instead of revision snapshots |
fa471151d269
extdiff: add --per-file and --confirm options
Ludovic Chabant <ludovic@chabant.com>
parents:
41068
diff
changeset
|
844 --confirm prompt user before each external program invocation |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
845 --patch compare patches for two revisions |
15145
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
846 -I --include PATTERN [+] include names matching the given patterns |
ff26712a0c50
help: use RST to format option lists
Matt Mackall <mpm@selenic.com>
parents:
14849
diff
changeset
|
847 -X --exclude PATTERN [+] exclude names matching the given patterns |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
848 -S --subrepos recurse into subrepositories |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
849 |
22110
26f7c8033bed
help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents:
21937
diff
changeset
|
850 (some details hidden, use --verbose to show complete help) |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
851 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
852 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
853 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
854 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
855 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
856 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
857 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
858 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
859 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
860 |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
861 $ hg help --extension extdiff |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
862 extdiff extension - command to allow external programs to compare revisions |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
863 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
864 The extdiff Mercurial extension allows you to use external programs to compare |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
865 revisions, or revision with working directory. The external diff programs are |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
866 called with a configurable set of options and two non-option arguments: paths |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
867 to directories containing snapshots of files to compare. |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
868 |
37209
2208149c4b8e
extdiff: document that it copies modified files back to working directory
Kyle Lippincott <spectral@google.com>
parents:
36458
diff
changeset
|
869 If there is more than one file being compared and the "child" revision is the |
2208149c4b8e
extdiff: document that it copies modified files back to working directory
Kyle Lippincott <spectral@google.com>
parents:
36458
diff
changeset
|
870 working directory, any modifications made in the external diff program will be |
2208149c4b8e
extdiff: document that it copies modified files back to working directory
Kyle Lippincott <spectral@google.com>
parents:
36458
diff
changeset
|
871 copied back to the working directory from the temporary directory. |
2208149c4b8e
extdiff: document that it copies modified files back to working directory
Kyle Lippincott <spectral@google.com>
parents:
36458
diff
changeset
|
872 |
14327
d943412e2fba
extdiff: grammar "allows to" -> "allows one to"
Javi Merino <cibervicho@gmail.com>
parents:
14286
diff
changeset
|
873 The extdiff extension also allows you to configure new diff commands, so you |
27729
58f8b29c37ff
minirst: change hgrole to use single quotes
timeless <timeless@mozdev.org>
parents:
27491
diff
changeset
|
874 do not need to type 'hg extdiff -p kdiff3' always. |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
875 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
876 [extdiff] |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
877 # add new command that runs GNU diff(1) in 'context diff' mode |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
878 cdiff = gdiff -Nprc5 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
879 ## or the old way: |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
880 #cmd.cdiff = gdiff |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
881 #opts.cdiff = -Nprc5 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
882 |
23150
aff73c777b0b
extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents:
22947
diff
changeset
|
883 # add new command called meld, runs meld (no need to name twice). If |
aff73c777b0b
extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents:
22947
diff
changeset
|
884 # the meld executable is not available, the meld tool in [merge-tools] |
aff73c777b0b
extdiff: allow a preconfigured merge-tool to be invoked
Matt Harbison <matt_harbison@yahoo.com>
parents:
22947
diff
changeset
|
885 # will be used, if available |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
886 meld = |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
887 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
888 # add new command called vimdiff, runs gvimdiff with DirDiff plugin |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
889 # (see http://www.vim.org/scripts/script.php?script_id=102) Non |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
890 # English user, be sure to put "let g:DirDiffDynamicDiffText = 1" in |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
891 # your .vimrc |
16242
55174ab81973
extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15862
diff
changeset
|
892 vimdiff = gvim -f "+next" \ |
55174ab81973
extdiff: escape filenames with vim/DirDiff and make quoting work with Windows
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15862
diff
changeset
|
893 "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))" |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
894 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
895 Tool arguments can include variables that are expanded at runtime: |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
896 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
897 $parent1, $plabel1 - filename, descriptive label of first parent |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
898 $child, $clabel - filename, descriptive label of child revision |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
899 $parent2, $plabel2 - filename, descriptive label of second parent |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
900 $root - repository root |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
901 $parent is an alias for $parent1. |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
902 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
903 The extdiff extension will look in your [diff-tools] and [merge-tools] |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
904 sections for diff tool arguments, when none are specified in [extdiff]. |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
905 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
906 [extdiff] |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
907 kdiff3 = |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
908 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
909 [diff-tools] |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
910 kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
911 |
41584
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
912 If a program has a graphical interface, it might be interesting to tell |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
913 Mercurial about it. It will prevent the program from being mistakenly used in |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
914 a terminal-only environment (such as an SSH terminal session), and will make |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
915 'hg extdiff --per-file' open multiple file diffs at once instead of one by one |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
916 (if you still want to open file diffs one by one, you can use the --confirm |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
917 option). |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
918 |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
919 Declaring that a tool has a graphical interface can be done with the "gui" |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
920 flag next to where "diffargs" are specified: |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
921 |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
922 [diff-tools] |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
923 kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
924 kdiff3.gui = true |
a4cd77a425a3
extdiff: support tools that can be run simultaneously
Ludovic Chabant <ludovic@chabant.com>
parents:
41508
diff
changeset
|
925 |
27729
58f8b29c37ff
minirst: change hgrole to use single quotes
timeless <timeless@mozdev.org>
parents:
27491
diff
changeset
|
926 You can use -I/-X and list of file or directory names like normal 'hg diff' |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
927 command. The extdiff extension makes snapshots of only needed files, so |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
928 running the external diff program will actually be pretty fast (at least |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
929 faster than having to compare the entire tree). |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
930 |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
931 list of commands: |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
932 |
16853
7863ff383894
help: format command and option list help using RST
Olav Reinert <seroton10@gmail.com>
parents:
16744
diff
changeset
|
933 extdiff use external program to diff repository (or selected files) |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
934 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
935 (use 'hg help -v -e extdiff' to show built-in aliases and global options) |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
936 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
937 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
938 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
939 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
940 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
941 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
942 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
943 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
944 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
945 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
946 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
947 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
948 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
949 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
950 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
951 |
14284
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
952 $ echo 'extdiff = !' >> $HGRCPATH |
1f9e11f65cd7
help: add -e/--extension switch to display extension help text
Henri Wiechers <hwiechers@gmail.com>
parents:
13191
diff
changeset
|
953 |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
954 Test help topic with same name as extension |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
955 |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
956 $ cat > multirevs.py <<EOF |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
957 > from mercurial import commands, registrar |
21254
51e5c793a9f4
tests: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
20003
diff
changeset
|
958 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
959 > command = registrar.command(cmdtable) |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
960 > """multirevs extension |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
961 > Big multi-line module docstring.""" |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
962 > @command(b'multirevs', [], b'ARG', norepo=True) |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
963 > def multirevs(ui, repo, arg, *args, **opts): |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
964 > """multirevs command""" |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
965 > EOF |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
966 $ echo "multirevs = multirevs.py" >> $HGRCPATH |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
967 |
30610
66cffa87d2f2
help: make multirevs just an alias for revsets
Martin von Zweigbergk <martinvonz@google.com>
parents:
30485
diff
changeset
|
968 $ hg help multirevs | tail |
34948
ff178743e59b
help: minor copy editing for grammar
Matt Harbison <matt_harbison@yahoo.com>
parents:
34845
diff
changeset
|
969 used): |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
970 |
30771
c2cbc1b050db
help: explain that revsets can be used where 1 or 2 revs are wanted
Martin von Zweigbergk <martinvonz@google.com>
parents:
30610
diff
changeset
|
971 hg update :@ |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
972 |
30771
c2cbc1b050db
help: explain that revsets can be used where 1 or 2 revs are wanted
Martin von Zweigbergk <martinvonz@google.com>
parents:
30610
diff
changeset
|
973 - Show diff between tags 1.3 and 1.5 (this works because the first and the |
c2cbc1b050db
help: explain that revsets can be used where 1 or 2 revs are wanted
Martin von Zweigbergk <martinvonz@google.com>
parents:
30610
diff
changeset
|
974 last revisions of the revset are used): |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
975 |
30771
c2cbc1b050db
help: explain that revsets can be used where 1 or 2 revs are wanted
Martin von Zweigbergk <martinvonz@google.com>
parents:
30610
diff
changeset
|
976 hg diff -r 1.3::1.5 |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
977 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
978 use 'hg help -c multirevs' to see help for the multirevs command |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
979 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
980 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
981 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
982 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
983 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
984 |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
985 $ hg help -c multirevs |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
986 hg multirevs ARG |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
987 |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
988 multirevs command |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
989 |
22110
26f7c8033bed
help: tweak --verbose command help hint
Matt Mackall <mpm@selenic.com>
parents:
21937
diff
changeset
|
990 (some details hidden, use --verbose to show complete help) |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
991 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
992 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
993 |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
994 $ hg multirevs |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
995 hg multirevs: invalid arguments |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
996 hg multirevs ARG |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
997 |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
998 multirevs command |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
999 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1000 (use 'hg multirevs -h' to show more help) |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
1001 [255] |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
1002 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1003 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1004 |
14286
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
1005 $ echo "multirevs = !" >> $HGRCPATH |
005a540e9aee
help: add -c/--command flag to only show command help (issue2799)
Martin Geisler <mg@aragost.com>
parents:
14285
diff
changeset
|
1006 |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
12327
diff
changeset
|
1007 Issue811: Problem loading extensions twice (by site and by user) |
7011
7da76778dbd7
Do not try to load extensions twice (issue811)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5523
diff
changeset
|
1008 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1009 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1010 > mq = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1011 > strip = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1012 > hgext.mq = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1013 > hgext/mq = |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1014 > EOF |
7011
7da76778dbd7
Do not try to load extensions twice (issue811)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5523
diff
changeset
|
1015 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1016 Show extensions: |
19822
a194a33f8cb2
mq: prepare a strip extension for extraction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19777
diff
changeset
|
1017 (note that mq force load strip, also checking it's not loaded twice) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1018 |
37342
4e6a6d0dccee
tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37209
diff
changeset
|
1019 #if no-extraextensions |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1020 $ hg debugextensions |
26351
8c7d8d5e1e0f
mercurial: add debugextensions command (issue4676)
liscju <piotr.listkiewicz@gmail.com>
parents:
26263
diff
changeset
|
1021 mq |
19822
a194a33f8cb2
mq: prepare a strip extension for extraction
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19777
diff
changeset
|
1022 strip |
37342
4e6a6d0dccee
tests: conditionalize tests based on presence of custom extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
37209
diff
changeset
|
1023 #endif |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1024 |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1025 For extensions, which name matches one of its commands, help |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1026 message should ask '-v -e' to get list of built-in aliases |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1027 along with extension help itself |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1028 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1029 $ mkdir $TESTTMP/d |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1030 $ cat > $TESTTMP/d/dodo.py <<EOF |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1031 > """ |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1032 > This is an awesome 'dodo' extension. It does nothing and |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1033 > writes 'Foo foo' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1034 > """ |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
1035 > from mercurial import commands, registrar |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1036 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
1037 > command = registrar.command(cmdtable) |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1038 > @command(b'dodo', [], b'hg dodo') |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1039 > def dodo(ui, *args, **kwargs): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1040 > """Does nothing""" |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1041 > ui.write(b"I do nothing. Yay\\n") |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1042 > @command(b'foofoo', [], b'hg foofoo') |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1043 > def foofoo(ui, *args, **kwargs): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1044 > """Writes 'Foo foo'""" |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1045 > ui.write(b"Foo foo\\n") |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1046 > EOF |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1047 $ dodopath=$TESTTMP/d/dodo.py |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1048 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1049 $ echo "dodo = $dodopath" >> $HGRCPATH |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1050 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1051 Make sure that user is asked to enter '-v -e' to get list of built-in aliases |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1052 $ hg help -e dodo |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1053 dodo extension - |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1054 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1055 This is an awesome 'dodo' extension. It does nothing and writes 'Foo foo' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1056 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1057 list of commands: |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1058 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1059 dodo Does nothing |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1060 foofoo Writes 'Foo foo' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1061 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1062 (use 'hg help -v -e dodo' to show built-in aliases and global options) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1063 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1064 Make sure that '-v -e' prints list of built-in aliases along with |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1065 extension help itself |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1066 $ hg help -v -e dodo |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1067 dodo extension - |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1068 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1069 This is an awesome 'dodo' extension. It does nothing and writes 'Foo foo' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1070 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1071 list of commands: |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1072 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1073 dodo Does nothing |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1074 foofoo Writes 'Foo foo' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1075 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1076 global options ([+] can be repeated): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1077 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1078 -R --repository REPO repository root directory or name of overlay bundle |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1079 file |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1080 --cwd DIR change working directory |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1081 -y --noninteractive do not prompt, automatically pick the first choice for |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1082 all prompts |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1083 -q --quiet suppress output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1084 -v --verbose enable additional output |
31104
8346b2f09e79
color: add the definition of '--color' in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30993
diff
changeset
|
1085 --color TYPE when to colorize (boolean, always, auto, never, or |
31123
df0a0734304a
color: update main documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31110
diff
changeset
|
1086 debug) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1087 --config CONFIG [+] set/override config option (use 'section.name=value') |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1088 --debug enable debugging output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1089 --debugger start debugger |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1090 --encoding ENCODE set the charset encoding (default: ascii) |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1091 --encodingmode MODE set the charset encoding mode (default: strict) |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1092 --traceback always print a traceback on exception |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1093 --time time how long the command takes |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1094 --profile print command execution profile |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1095 --version output version information and exit |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1096 -h --help display help and exit |
41010
e8e2a7656e83
help: hide default value for default-off flags
Martin von Zweigbergk <martinvonz@google.com>
parents:
41009
diff
changeset
|
1097 --hidden consider hidden changesets |
30993
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1098 --pager TYPE when to paginate (boolean, always, auto, or never) |
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1099 (default: auto) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1100 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1101 Make sure that single '-v' option shows help and built-ins only for 'dodo' command |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1102 $ hg help -v dodo |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1103 hg dodo |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1104 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1105 Does nothing |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1106 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1107 (use 'hg help -e dodo' to show help for the dodo extension) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1108 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1109 options: |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1110 |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1111 --mq operate on patch repository |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1112 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1113 global options ([+] can be repeated): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1114 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1115 -R --repository REPO repository root directory or name of overlay bundle |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1116 file |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1117 --cwd DIR change working directory |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1118 -y --noninteractive do not prompt, automatically pick the first choice for |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1119 all prompts |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1120 -q --quiet suppress output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1121 -v --verbose enable additional output |
31104
8346b2f09e79
color: add the definition of '--color' in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30993
diff
changeset
|
1122 --color TYPE when to colorize (boolean, always, auto, never, or |
31123
df0a0734304a
color: update main documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31110
diff
changeset
|
1123 debug) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1124 --config CONFIG [+] set/override config option (use 'section.name=value') |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1125 --debug enable debugging output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1126 --debugger start debugger |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1127 --encoding ENCODE set the charset encoding (default: ascii) |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1128 --encodingmode MODE set the charset encoding mode (default: strict) |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1129 --traceback always print a traceback on exception |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1130 --time time how long the command takes |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1131 --profile print command execution profile |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1132 --version output version information and exit |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1133 -h --help display help and exit |
41010
e8e2a7656e83
help: hide default value for default-off flags
Martin von Zweigbergk <martinvonz@google.com>
parents:
41009
diff
changeset
|
1134 --hidden consider hidden changesets |
30993
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1135 --pager TYPE when to paginate (boolean, always, auto, or never) |
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1136 (default: auto) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1137 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1138 In case when extension name doesn't match any of its commands, |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1139 help message should ask for '-v' to get list of built-in aliases |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1140 along with extension help |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1141 $ cat > $TESTTMP/d/dudu.py <<EOF |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1142 > """ |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1143 > This is an awesome 'dudu' extension. It does something and |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1144 > also writes 'Beep beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1145 > """ |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
1146 > from mercurial import commands, registrar |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1147 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
1148 > command = registrar.command(cmdtable) |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1149 > @command(b'something', [], b'hg something') |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1150 > def something(ui, *args, **kwargs): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1151 > """Does something""" |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1152 > ui.write(b"I do something. Yaaay\\n") |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1153 > @command(b'beep', [], b'hg beep') |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1154 > def beep(ui, *args, **kwargs): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1155 > """Writes 'Beep beep'""" |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1156 > ui.write(b"Beep beep\\n") |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1157 > EOF |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1158 $ dudupath=$TESTTMP/d/dudu.py |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1159 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1160 $ echo "dudu = $dudupath" >> $HGRCPATH |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1161 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1162 $ hg help -e dudu |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1163 dudu extension - |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1164 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1165 This is an awesome 'dudu' extension. It does something and also writes 'Beep |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1166 beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1167 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1168 list of commands: |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1169 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1170 beep Writes 'Beep beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1171 something Does something |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1172 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1173 (use 'hg help -v dudu' to show built-in aliases and global options) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1174 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1175 In case when extension name doesn't match any of its commands, |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1176 help options '-v' and '-v -e' should be equivalent |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1177 $ hg help -v dudu |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1178 dudu extension - |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1179 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1180 This is an awesome 'dudu' extension. It does something and also writes 'Beep |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1181 beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1182 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1183 list of commands: |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1184 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1185 beep Writes 'Beep beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1186 something Does something |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1187 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1188 global options ([+] can be repeated): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1189 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1190 -R --repository REPO repository root directory or name of overlay bundle |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1191 file |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1192 --cwd DIR change working directory |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1193 -y --noninteractive do not prompt, automatically pick the first choice for |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1194 all prompts |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1195 -q --quiet suppress output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1196 -v --verbose enable additional output |
31104
8346b2f09e79
color: add the definition of '--color' in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30993
diff
changeset
|
1197 --color TYPE when to colorize (boolean, always, auto, never, or |
31123
df0a0734304a
color: update main documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31110
diff
changeset
|
1198 debug) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1199 --config CONFIG [+] set/override config option (use 'section.name=value') |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1200 --debug enable debugging output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1201 --debugger start debugger |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1202 --encoding ENCODE set the charset encoding (default: ascii) |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1203 --encodingmode MODE set the charset encoding mode (default: strict) |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1204 --traceback always print a traceback on exception |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1205 --time time how long the command takes |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1206 --profile print command execution profile |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1207 --version output version information and exit |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1208 -h --help display help and exit |
41010
e8e2a7656e83
help: hide default value for default-off flags
Martin von Zweigbergk <martinvonz@google.com>
parents:
41009
diff
changeset
|
1209 --hidden consider hidden changesets |
30993
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1210 --pager TYPE when to paginate (boolean, always, auto, or never) |
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1211 (default: auto) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1212 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1213 $ hg help -v -e dudu |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1214 dudu extension - |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1215 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1216 This is an awesome 'dudu' extension. It does something and also writes 'Beep |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1217 beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1218 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1219 list of commands: |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1220 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1221 beep Writes 'Beep beep' |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1222 something Does something |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1223 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1224 global options ([+] can be repeated): |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1225 |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1226 -R --repository REPO repository root directory or name of overlay bundle |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1227 file |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1228 --cwd DIR change working directory |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1229 -y --noninteractive do not prompt, automatically pick the first choice for |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1230 all prompts |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1231 -q --quiet suppress output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1232 -v --verbose enable additional output |
31104
8346b2f09e79
color: add the definition of '--color' in core
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30993
diff
changeset
|
1233 --color TYPE when to colorize (boolean, always, auto, never, or |
31123
df0a0734304a
color: update main documentation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
31110
diff
changeset
|
1234 debug) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1235 --config CONFIG [+] set/override config option (use 'section.name=value') |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1236 --debug enable debugging output |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1237 --debugger start debugger |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1238 --encoding ENCODE set the charset encoding (default: ascii) |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1239 --encodingmode MODE set the charset encoding mode (default: strict) |
30152
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1240 --traceback always print a traceback on exception |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1241 --time time how long the command takes |
d65e246100ed
help: backout f3c4edfd35e1 (mark boolean flags with [no-] in help) for now
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30024
diff
changeset
|
1242 --profile print command execution profile |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1243 --version output version information and exit |
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1244 -h --help display help and exit |
41010
e8e2a7656e83
help: hide default value for default-off flags
Martin von Zweigbergk <martinvonz@google.com>
parents:
41009
diff
changeset
|
1245 --hidden consider hidden changesets |
30993
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1246 --pager TYPE when to paginate (boolean, always, auto, or never) |
9c2977ceaa46
pager: move more behavior into core
Augie Fackler <augie@google.com>
parents:
30771
diff
changeset
|
1247 (default: auto) |
23624
861ddedfb402
help: suggest '-v -e' to get built-in aliases for extensions (issue4461)
Chingis Dugarzhapov <chingis.dug@gmail.com>
parents:
23172
diff
changeset
|
1248 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1249 Disabled extension commands: |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
9802
diff
changeset
|
1250 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1251 $ ORGHGRCPATH=$HGRCPATH |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1252 $ HGRCPATH= |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1253 $ export HGRCPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1254 $ hg help email |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1255 'email' is provided by the following extension: |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1256 |
15861
ee8f5e4ce7b8
minirst: simplify and standardize field list formatting
Olav Reinert <seroton10@gmail.com>
parents:
15447
diff
changeset
|
1257 patchbomb command to send changesets as (a series of) patch emails |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1258 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1259 (use 'hg help extensions' for information on enabling extensions) |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1260 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1261 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1262 $ hg qdel |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1263 hg: unknown command 'qdel' |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1264 'qdelete' is provided by the following extension: |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1265 |
15861
ee8f5e4ce7b8
minirst: simplify and standardize field list formatting
Olav Reinert <seroton10@gmail.com>
parents:
15447
diff
changeset
|
1266 mq manage a stack of patches |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1267 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1268 (use 'hg help extensions' for information on enabling extensions) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12191
diff
changeset
|
1269 [255] |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1270 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1271 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1272 $ hg churn |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1273 hg: unknown command 'churn' |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1274 'churn' is provided by the following extension: |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1275 |
15861
ee8f5e4ce7b8
minirst: simplify and standardize field list formatting
Olav Reinert <seroton10@gmail.com>
parents:
15447
diff
changeset
|
1276 churn command to display statistics about repository history |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1277 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1278 (use 'hg help extensions' for information on enabling extensions) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12191
diff
changeset
|
1279 [255] |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1280 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1281 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1282 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1283 Disabled extensions: |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
9802
diff
changeset
|
1284 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1285 $ hg help churn |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1286 churn extension - command to display statistics about repository history |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1287 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1288 (use 'hg help extensions' for information on enabling extensions) |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1289 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1290 $ hg help patchbomb |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1291 patchbomb extension - command to send changesets as (a series of) patch emails |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1292 |
30306
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1293 The series is started off with a "[PATCH 0 of N]" introduction, which |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1294 describes the series as a whole. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1295 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1296 Each patch email has a Subject line of "[PATCH M of N] ...", using the first |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1297 line of the changeset description as the subject text. The message contains |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1298 two or three body parts: |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1299 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1300 - The changeset description. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1301 - [Optional] The result of running diffstat on the patch. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1302 - The patch itself, as generated by 'hg export'. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1303 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1304 Each message refers to the first in the series using the In-Reply-To and |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1305 References headers, so they will show up as a sequence in threaded mail and |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1306 news readers, and in mail archives. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1307 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1308 To configure other defaults, add a section like this to your configuration |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1309 file: |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1310 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1311 [email] |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1312 from = My Name <my@email> |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1313 to = recipient1, recipient2, ... |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1314 cc = cc1, cc2, ... |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1315 bcc = bcc1, bcc2, ... |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1316 reply-to = address1, address2, ... |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1317 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1318 Use "[patchbomb]" as configuration section name if you need to override global |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1319 "[email]" address settings. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1320 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1321 Then you can use the 'hg email' command to mail a series of changesets as a |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1322 patchbomb. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1323 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1324 You can also either configure the method option in the email section to be a |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1325 sendmail compatible mailer or fill out the [smtp] section so that the |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1326 patchbomb extension can automatically send patchbombs directly from the |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1327 commandline. See the [email] and [smtp] sections in hgrc(5) for details. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1328 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1329 By default, 'hg email' will prompt for a "To" or "CC" header if you do not |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1330 supply one via configuration or the command line. You can override this to |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1331 never prompt by configuring an empty value: |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1332 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1333 [email] |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1334 cc = |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1335 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1336 You can control the default inclusion of an introduction message with the |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1337 "patchbomb.intro" configuration option. The configuration is always |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1338 overwritten by command line flags like --intro and --desc: |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1339 |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1340 [patchbomb] |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1341 intro=auto # include introduction message if more than 1 patch (default) |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1342 intro=never # never include an introduction message |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1343 intro=always # always include an introduction message |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1344 |
31187
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1345 You can specify a template for flags to be added in subject prefixes. Flags |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1346 specified by --flag option are exported as "{flags}" keyword: |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1347 |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1348 [patchbomb] |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1349 flagtemplate = "{separate(' ', |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1350 ifeq(branch, 'default', '', branch|upper), |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1351 flags)}" |
6b8e1a08ef1d
patchbomb: add config knob to generate flags by template (issue5354)
Yuya Nishihara <yuya@tcha.org>
parents:
31123
diff
changeset
|
1352 |
30306
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1353 You can set patchbomb to always ask for confirmation by setting |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1354 "patchbomb.confirm" to true. |
5581b294f3c6
help: show help for disabled extensions (issue5228)
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30152
diff
changeset
|
1355 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1356 (use 'hg help extensions' for information on enabling extensions) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1357 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1358 |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1359 Broken disabled extension and command: |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1360 |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1361 $ mkdir hgext |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1362 $ echo > hgext/__init__.py |
40205
89ba51c3e4f1
tests: use NO_CHECK_EOF for fragments having intentional error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40184
diff
changeset
|
1363 $ cat > hgext/broken.py <<NO_CHECK_EOF |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1364 > "broken extension' |
40205
89ba51c3e4f1
tests: use NO_CHECK_EOF for fragments having intentional error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
40184
diff
changeset
|
1365 > NO_CHECK_EOF |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1366 $ cat > path.py <<EOF |
40369
ef6cab7930b3
py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
40263
diff
changeset
|
1367 > import os |
ef6cab7930b3
py3: fix module imports in tests, as flagged by test-check-module-imports.t
Matt Harbison <matt_harbison@yahoo.com>
parents:
40263
diff
changeset
|
1368 > import sys |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1369 > sys.path.insert(0, os.environ['HGEXTPATH']) |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1370 > EOF |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1371 $ HGEXTPATH=`pwd` |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1372 $ export HGEXTPATH |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1373 |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1374 $ hg --config extensions.path=./path.py help broken |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1375 broken extension - (no help text available) |
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1376 |
29974
7109d5ddeb0c
help: use single quotes in use warning
timeless <timeless@mozdev.org>
parents:
29885
diff
changeset
|
1377 (use 'hg help extensions' for information on enabling extensions) |
12191
56c74b2df53d
tests: unify test-extension
Adrian Buehlmann <adrian@cadifra.com>
parents:
11070
diff
changeset
|
1378 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1379 |
13191
1aea66b71f4f
extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com>
parents:
12399
diff
changeset
|
1380 $ cat > hgext/forest.py <<EOF |
1aea66b71f4f
extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com>
parents:
12399
diff
changeset
|
1381 > cmdtable = None |
38162
bdf344aea0ee
extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org>
parents:
38018
diff
changeset
|
1382 > @command() |
bdf344aea0ee
extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org>
parents:
38018
diff
changeset
|
1383 > def f(): |
bdf344aea0ee
extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org>
parents:
38018
diff
changeset
|
1384 > pass |
bdf344aea0ee
extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org>
parents:
38018
diff
changeset
|
1385 > @command(123) |
bdf344aea0ee
extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org>
parents:
38018
diff
changeset
|
1386 > def g(): |
bdf344aea0ee
extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org>
parents:
38018
diff
changeset
|
1387 > pass |
13191
1aea66b71f4f
extensions: warn about invalid extensions when listing disabled commands
Mads Kiilerich <mads@kiilerich.com>
parents:
12399
diff
changeset
|
1388 > EOF |
39221
d7ac6dafc609
tests: drop an unnecessary redirect to /dev/null
Matt Harbison <matt_harbison@yahoo.com>
parents:
39190
diff
changeset
|
1389 $ hg --config extensions.path=./path.py help foo |
d7ac6dafc609
tests: drop an unnecessary redirect to /dev/null
Matt Harbison <matt_harbison@yahoo.com>
parents:
39190
diff
changeset
|
1390 abort: no such help topic: foo |
d7ac6dafc609
tests: drop an unnecessary redirect to /dev/null
Matt Harbison <matt_harbison@yahoo.com>
parents:
39190
diff
changeset
|
1391 (try 'hg help --keyword foo') |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12191
diff
changeset
|
1392 [255] |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1393 |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1394 $ cat > throw.py <<EOF |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
1395 > from mercurial import commands, registrar, util |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1396 > cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
31187
diff
changeset
|
1397 > command = registrar.command(cmdtable) |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1398 > class Bogon(Exception): pass |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1399 > @command(b'throw', [], b'hg throw', norepo=True) |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1400 > def throw(ui, **opts): |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1401 > """throws an exception""" |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1402 > raise Bogon() |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1403 > EOF |
23869
d9967b82394a
test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23624
diff
changeset
|
1404 |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1405 No declared supported version, extension complains: |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1406 $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*' |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1407 ** Unknown exception encountered with possibly-broken third-party extension throw |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1408 ** which supports versions unknown of Mercurial. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1409 ** Please disable throw and try your action again. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1410 ** If that fixes the bug please report it to the extension author. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1411 ** Python * (glob) |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1412 ** Mercurial Distributed SCM * (glob) |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1413 ** Extensions loaded: throw |
23869
d9967b82394a
test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23624
diff
changeset
|
1414 |
18224
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1415 empty declaration of supported version, extension complains: |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1416 $ echo "testedwith = ''" >> throw.py |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1417 $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*' |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1418 ** Unknown exception encountered with possibly-broken third-party extension throw |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1419 ** which supports versions unknown of Mercurial. |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1420 ** Please disable throw and try your action again. |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1421 ** If that fixes the bug please report it to the extension author. |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1422 ** Python * (glob) |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1423 ** Mercurial Distributed SCM (*) (glob) |
0f9013112eba
dispatch: handle empty `testedwith` value in extension
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17837
diff
changeset
|
1424 ** Extensions loaded: throw |
23869
d9967b82394a
test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23624
diff
changeset
|
1425 |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1426 If the extension specifies a buglink, show that: |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1427 $ echo 'buglink = "http://example.com/bts"' >> throw.py |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1428 $ rm -f throw.pyc throw.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1429 $ rm -Rf __pycache__ |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1430 $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*' |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1431 ** Unknown exception encountered with possibly-broken third-party extension throw |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1432 ** which supports versions unknown of Mercurial. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1433 ** Please disable throw and try your action again. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1434 ** If that fixes the bug please report it to http://example.com/bts |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1435 ** Python * (glob) |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1436 ** Mercurial Distributed SCM (*) (glob) |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1437 ** Extensions loaded: throw |
23869
d9967b82394a
test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23624
diff
changeset
|
1438 |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1439 If the extensions declare outdated versions, accuse the older extension first: |
17227
7af38fe1f829
test-extension.t: use fixed version string instead of current tag
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17014
diff
changeset
|
1440 $ echo "from mercurial import util" >> older.py |
38018
a9ffb4a577d0
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37977
diff
changeset
|
1441 $ echo "util.version = lambda:b'2.2'" >> older.py |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1442 $ echo "testedwith = b'1.9.3'" >> older.py |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1443 $ echo "testedwith = b'2.1.1'" >> throw.py |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1444 $ rm -f throw.pyc throw.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1445 $ rm -Rf __pycache__ |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1446 $ hg --config extensions.throw=throw.py --config extensions.older=older.py \ |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1447 > throw 2>&1 | egrep '^\*\*' |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1448 ** Unknown exception encountered with possibly-broken third-party extension older |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1449 ** which supports versions 1.9 of Mercurial. |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1450 ** Please disable older and try your action again. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1451 ** If that fixes the bug please report it to the extension author. |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1452 ** Python * (glob) |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1453 ** Mercurial Distributed SCM (version 2.2) |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1454 ** Extensions loaded: throw, older |
23869
d9967b82394a
test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23624
diff
changeset
|
1455 |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1456 One extension only tested with older, one only with newer versions: |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1457 $ echo "util.version = lambda:b'2.1'" >> older.py |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1458 $ rm -f older.pyc older.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1459 $ rm -Rf __pycache__ |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1460 $ hg --config extensions.throw=throw.py --config extensions.older=older.py \ |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1461 > throw 2>&1 | egrep '^\*\*' |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1462 ** Unknown exception encountered with possibly-broken third-party extension older |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1463 ** which supports versions 1.9 of Mercurial. |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1464 ** Please disable older and try your action again. |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1465 ** If that fixes the bug please report it to the extension author. |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1466 ** Python * (glob) |
23870
9070e20057ae
test-extension: use a realistic Mercurial version
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23869
diff
changeset
|
1467 ** Mercurial Distributed SCM (version 2.1) |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1468 ** Extensions loaded: throw, older |
23869
d9967b82394a
test-extension: improve test readability
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23624
diff
changeset
|
1469 |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1470 Older extension is tested with current version, the other only with newer: |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1471 $ echo "util.version = lambda:b'1.9.3'" >> older.py |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1472 $ rm -f older.pyc older.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1473 $ rm -Rf __pycache__ |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1474 $ hg --config extensions.throw=throw.py --config extensions.older=older.py \ |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1475 > throw 2>&1 | egrep '^\*\*' |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1476 ** Unknown exception encountered with possibly-broken third-party extension throw |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1477 ** which supports versions 2.1 of Mercurial. |
17228
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1478 ** Please disable throw and try your action again. |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1479 ** If that fixes the bug please report it to http://example.com/bts |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1480 ** Python * (glob) |
d1b49b02bc16
dispatch: fix traceback when extension was tested with newer versions only
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17227
diff
changeset
|
1481 ** Mercurial Distributed SCM (version 1.9.3) |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1482 ** Extensions loaded: throw, older |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1483 |
26263
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1484 Ability to point to a different point |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1485 $ hg --config extensions.throw=throw.py --config extensions.older=older.py \ |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1486 > --config ui.supportcontact='Your Local Goat Lenders' throw 2>&1 | egrep '^\*\*' |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1487 ** unknown exception encountered, please report by visiting |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1488 ** Your Local Goat Lenders |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1489 ** Python * (glob) |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1490 ** Mercurial Distributed SCM (*) (glob) |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1491 ** Extensions loaded: throw, older |
bf2bfc6f45fb
traceback: allow providing a local support contact point
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26228
diff
changeset
|
1492 |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1493 Declare the version as supporting this hg version, show regular bts link: |
29198
a3e5e1fb257c
tests: use debuginstall to retrieve hg version
timeless <timeless@mozdev.org>
parents:
28623
diff
changeset
|
1494 $ hgver=`hg debuginstall -T '{hgver}'` |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1495 $ echo 'testedwith = """'"$hgver"'"""' >> throw.py |
24257
31e9f66863f3
test: make version based test-extensions failure more explanatory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24124
diff
changeset
|
1496 $ if [ -z "$hgver" ]; then |
31e9f66863f3
test: make version based test-extensions failure more explanatory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24124
diff
changeset
|
1497 > echo "unable to fetch a mercurial version. Make sure __version__ is correct"; |
31e9f66863f3
test: make version based test-extensions failure more explanatory
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
24124
diff
changeset
|
1498 > fi |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1499 $ rm -f throw.pyc throw.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1500 $ rm -Rf __pycache__ |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1501 $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*' |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1502 ** unknown exception encountered, please report by visiting |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
26351
diff
changeset
|
1503 ** https://mercurial-scm.org/wiki/BugTracker |
16744
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1504 ** Python * (glob) |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1505 ** Mercurial Distributed SCM (*) (glob) |
1c9f58a6c8f1
dispatch: try and identify third-party extensions as sources of tracebacks
Augie Fackler <raf@durin42.com>
parents:
16242
diff
changeset
|
1506 ** Extensions loaded: throw |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1507 |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1508 Patch version is ignored during compatibility check |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1509 $ echo "testedwith = b'3.2'" >> throw.py |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1510 $ echo "util.version = lambda:b'3.2.2'" >> throw.py |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1511 $ rm -f throw.pyc throw.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1512 $ rm -Rf __pycache__ |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1513 $ hg --config extensions.throw=throw.py throw 2>&1 | egrep '^\*\*' |
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1514 ** unknown exception encountered, please report by visiting |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
26351
diff
changeset
|
1515 ** https://mercurial-scm.org/wiki/BugTracker |
23871
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1516 ** Python * (glob) |
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1517 ** Mercurial Distributed SCM (*) (glob) |
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1518 ** Extensions loaded: throw |
b2d8f3685b06
dispatch: only check compatibility against major and minor versions (BC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
23870
diff
changeset
|
1519 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1520 Test version number support in 'hg version': |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1521 $ echo '__version__ = (1, 2, 3)' >> throw.py |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1522 $ rm -f throw.pyc throw.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1523 $ rm -Rf __pycache__ |
21937
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1524 $ hg version -v |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1525 Mercurial Distributed SCM (version *) (glob) |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
26351
diff
changeset
|
1526 (see https://mercurial-scm.org for more information) |
21937
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1527 |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1528 Copyright (C) 2005-* Matt Mackall and others (glob) |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1529 This is free software; see the source for copying conditions. There is NO |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1530 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1531 |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1532 Enabled extensions: |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1533 |
54ff2789d75e
version: don't traceback if no extensions to list (issue4312)
Matt Mackall <mpm@selenic.com>
parents:
21849
diff
changeset
|
1534 |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1535 $ hg version -v --config extensions.throw=throw.py |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1536 Mercurial Distributed SCM (version *) (glob) |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
26351
diff
changeset
|
1537 (see https://mercurial-scm.org for more information) |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1538 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1539 Copyright (C) 2005-* Matt Mackall and others (glob) |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1540 This is free software; see the source for copying conditions. There is NO |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1541 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1542 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1543 Enabled extensions: |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1544 |
27990
96bfd2875213
version: verbose list internal and external extension source (issue4731)
liscju <piotr.listkiewicz@gmail.com>
parents:
27729
diff
changeset
|
1545 throw external 1.2.3 |
38018
a9ffb4a577d0
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37977
diff
changeset
|
1546 $ echo 'getversion = lambda: b"1.twentythree"' >> throw.py |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1547 $ rm -f throw.pyc throw.pyo |
33624
b4793cc8e1c0
tests: clear __pycache__ for PyPy compatibility (issue5638) (issue5642)
Yuya Nishihara <yuya@tcha.org>
parents:
33623
diff
changeset
|
1548 $ rm -Rf __pycache__ |
29839
110ed1868f86
version: factor out mapping of internal/external labels
Yuya Nishihara <yuya@tcha.org>
parents:
29838
diff
changeset
|
1549 $ hg version -v --config extensions.throw=throw.py --config extensions.strip= |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1550 Mercurial Distributed SCM (version *) (glob) |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
26351
diff
changeset
|
1551 (see https://mercurial-scm.org for more information) |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1552 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1553 Copyright (C) 2005-* Matt Mackall and others (glob) |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1554 This is free software; see the source for copying conditions. There is NO |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1555 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1556 |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1557 Enabled extensions: |
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1558 |
27990
96bfd2875213
version: verbose list internal and external extension source (issue4731)
liscju <piotr.listkiewicz@gmail.com>
parents:
27729
diff
changeset
|
1559 throw external 1.twentythree |
29839
110ed1868f86
version: factor out mapping of internal/external labels
Yuya Nishihara <yuya@tcha.org>
parents:
29838
diff
changeset
|
1560 strip internal |
21849
a3306b8cdc0f
test-extension: add check for 'hg version -v' listing enabled extensions
Augie Fackler <raf@durin42.com>
parents:
21773
diff
changeset
|
1561 |
29838
8540133f91a1
version: always build list of extension versions
Yuya Nishihara <yuya@tcha.org>
parents:
29736
diff
changeset
|
1562 $ hg version -q --config extensions.throw=throw.py |
8540133f91a1
version: always build list of extension versions
Yuya Nishihara <yuya@tcha.org>
parents:
29736
diff
changeset
|
1563 Mercurial Distributed SCM (version *) (glob) |
8540133f91a1
version: always build list of extension versions
Yuya Nishihara <yuya@tcha.org>
parents:
29736
diff
changeset
|
1564 |
37500
8bb3899a0f47
formatter: make nested items somewhat readable in template output
Yuya Nishihara <yuya@tcha.org>
parents:
37342
diff
changeset
|
1565 Test template output: |
8bb3899a0f47
formatter: make nested items somewhat readable in template output
Yuya Nishihara <yuya@tcha.org>
parents:
37342
diff
changeset
|
1566 |
8bb3899a0f47
formatter: make nested items somewhat readable in template output
Yuya Nishihara <yuya@tcha.org>
parents:
37342
diff
changeset
|
1567 $ hg version --config extensions.strip= -T'{extensions}' |
8bb3899a0f47
formatter: make nested items somewhat readable in template output
Yuya Nishihara <yuya@tcha.org>
parents:
37342
diff
changeset
|
1568 strip |
8bb3899a0f47
formatter: make nested items somewhat readable in template output
Yuya Nishihara <yuya@tcha.org>
parents:
37342
diff
changeset
|
1569 |
29840
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1570 Test JSON output of version: |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1571 |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1572 $ hg version -Tjson |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1573 [ |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1574 { |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1575 "extensions": [], |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1576 "ver": "*" (glob) |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1577 } |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1578 ] |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1579 |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1580 $ hg version --config extensions.throw=throw.py -Tjson |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1581 [ |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1582 { |
29885
42751543fa06
version: change "place" field of extension to "bundled" flag
Yuya Nishihara <yuya@tcha.org>
parents:
29869
diff
changeset
|
1583 "extensions": [{"bundled": false, "name": "throw", "ver": "1.twentythree"}], |
29840
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1584 "ver": "3.2.2" |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1585 } |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1586 ] |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1587 |
29885
42751543fa06
version: change "place" field of extension to "bundled" flag
Yuya Nishihara <yuya@tcha.org>
parents:
29869
diff
changeset
|
1588 $ hg version --config extensions.strip= -Tjson |
29840
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1589 [ |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1590 { |
29885
42751543fa06
version: change "place" field of extension to "bundled" flag
Yuya Nishihara <yuya@tcha.org>
parents:
29869
diff
changeset
|
1591 "extensions": [{"bundled": true, "name": "strip", "ver": null}], |
29840
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1592 "ver": "*" (glob) |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1593 } |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1594 ] |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1595 |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1596 Test template output of version: |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1597 |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1598 $ hg version --config extensions.throw=throw.py --config extensions.strip= \ |
29885
42751543fa06
version: change "place" field of extension to "bundled" flag
Yuya Nishihara <yuya@tcha.org>
parents:
29869
diff
changeset
|
1599 > -T'{extensions % "{name} {pad(ver, 16)} ({if(bundled, "internal", "external")})\n"}' |
29840
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1600 throw 1.twentythree (external) |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1601 strip (internal) |
4435d4c951ec
version: add formatter support
Yuya Nishihara <yuya@tcha.org>
parents:
29839
diff
changeset
|
1602 |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1603 Refuse to load extensions with minimum version requirements |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1604 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1605 $ cat > minversion1.py << EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1606 > from mercurial import util |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1607 > util.version = lambda: b'3.5.2' |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1608 > minimumhgversion = b'3.6' |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1609 > EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1610 $ hg --config extensions.minversion=minversion1.py version |
40463
cfa564037789
extensions: include current version in "invalid version" message
Boris Feld <boris.feld@octobus.net>
parents:
40369
diff
changeset
|
1611 (third party extension minversion requires version 3.6 or newer of Mercurial (current: 3.5.2); disabling) |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1612 Mercurial Distributed SCM (version 3.5.2) |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1613 (see https://mercurial-scm.org for more information) |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1614 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1615 Copyright (C) 2005-* Matt Mackall and others (glob) |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1616 This is free software; see the source for copying conditions. There is NO |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1617 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1618 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1619 $ cat > minversion2.py << EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1620 > from mercurial import util |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1621 > util.version = lambda: b'3.6' |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1622 > minimumhgversion = b'3.7' |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1623 > EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1624 $ hg --config extensions.minversion=minversion2.py version 2>&1 | egrep '\(third' |
40463
cfa564037789
extensions: include current version in "invalid version" message
Boris Feld <boris.feld@octobus.net>
parents:
40369
diff
changeset
|
1625 (third party extension minversion requires version 3.7 or newer of Mercurial (current: 3.6); disabling) |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1626 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1627 Can load version that is only off by point release |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1628 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1629 $ cat > minversion2.py << EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1630 > from mercurial import util |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1631 > util.version = lambda: b'3.6.1' |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1632 > minimumhgversion = b'3.6' |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1633 > EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1634 $ hg --config extensions.minversion=minversion3.py version 2>&1 | egrep '\(third' |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1635 [1] |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1636 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1637 Can load minimum version identical to current |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1638 |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1639 $ cat > minversion3.py << EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1640 > from mercurial import util |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1641 > util.version = lambda: b'3.5' |
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1642 > minimumhgversion = b'3.5' |
27142
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1643 > EOF |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1644 $ hg --config extensions.minversion=minversion3.py version 2>&1 | egrep '\(third' |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1645 [1] |
060f83d219b9
extensions: refuse to load extensions if minimum hg version not met
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26421
diff
changeset
|
1646 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1647 Restore HGRCPATH |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1648 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1649 $ HGRCPATH=$ORGHGRCPATH |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1650 $ export HGRCPATH |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1651 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1652 Commands handling multiple repositories at a time should invoke only |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1653 "reposetup()" of extensions enabling in the target repository. |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1654 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1655 $ mkdir reposetup-test |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1656 $ cd reposetup-test |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1657 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1658 $ cat > $TESTTMP/reposetuptest.py <<EOF |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1659 > from mercurial import extensions |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1660 > def reposetup(ui, repo): |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1661 > ui.write(b'reposetup() for %s\n' % (repo.root)) |
28612
6fb1d3c936d2
tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents:
27990
diff
changeset
|
1662 > ui.flush() |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1663 > EOF |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1664 $ hg init src |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1665 $ echo a > src/a |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1666 $ hg -R src commit -Am '#0 at src/a' |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1667 adding a |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1668 $ echo '[extensions]' >> src/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1669 $ echo '# enable extension locally' >> src/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1670 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> src/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1671 $ hg -R src status |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1672 reposetup() for $TESTTMP/reposetup-test/src |
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1673 reposetup() for $TESTTMP/reposetup-test/src (chg !) |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1674 |
39112
f2e645dc6a67
tests: conditionalize extension tests for extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38787
diff
changeset
|
1675 #if no-extraextensions |
37977
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1676 $ hg --cwd src debugextensions |
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1677 reposetup() for $TESTTMP/reposetup-test/src |
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1678 dodo (untested!) |
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1679 dudu (untested!) |
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1680 mq |
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1681 reposetuptest (untested!) |
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1682 strip |
39112
f2e645dc6a67
tests: conditionalize extension tests for extra extensions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
38787
diff
changeset
|
1683 #endif |
37977
8ba0344f9fb1
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com>
parents:
37957
diff
changeset
|
1684 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1685 $ hg clone -U src clone-dst1 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1686 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1687 $ hg init push-dst1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1688 $ hg -q -R src push push-dst1 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1689 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1690 $ hg init pull-src1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1691 $ hg -q -R pull-src1 pull src |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1692 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1693 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1694 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1695 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1696 > # disable extension globally and explicitly |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1697 > reposetuptest = ! |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1698 > EOF |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1699 $ hg clone -U src clone-dst2 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1700 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1701 $ hg init push-dst2 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1702 $ hg -q -R src push push-dst2 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1703 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1704 $ hg init pull-src2 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1705 $ hg -q -R pull-src2 pull src |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1706 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1707 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1708 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1709 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1710 > # enable extension globally |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1711 > reposetuptest = $TESTTMP/reposetuptest.py |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1712 > EOF |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1713 $ hg clone -U src clone-dst3 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1714 reposetup() for $TESTTMP/reposetup-test/src |
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1715 reposetup() for $TESTTMP/reposetup-test/clone-dst3 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1716 $ hg init push-dst3 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1717 reposetup() for $TESTTMP/reposetup-test/push-dst3 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1718 $ hg -q -R src push push-dst3 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1719 reposetup() for $TESTTMP/reposetup-test/src |
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1720 reposetup() for $TESTTMP/reposetup-test/push-dst3 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1721 $ hg init pull-src3 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1722 reposetup() for $TESTTMP/reposetup-test/pull-src3 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1723 $ hg -q -R pull-src3 pull src |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1724 reposetup() for $TESTTMP/reposetup-test/pull-src3 |
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1725 reposetup() for $TESTTMP/reposetup-test/src |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1726 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1727 $ echo '[extensions]' >> src/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1728 $ echo '# disable extension locally' >> src/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1729 $ echo 'reposetuptest = !' >> src/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1730 $ hg clone -U src clone-dst4 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1731 reposetup() for $TESTTMP/reposetup-test/clone-dst4 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1732 $ hg init push-dst4 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1733 reposetup() for $TESTTMP/reposetup-test/push-dst4 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1734 $ hg -q -R src push push-dst4 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1735 reposetup() for $TESTTMP/reposetup-test/push-dst4 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1736 $ hg init pull-src4 |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1737 reposetup() for $TESTTMP/reposetup-test/pull-src4 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1738 $ hg -q -R pull-src4 pull src |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1739 reposetup() for $TESTTMP/reposetup-test/pull-src4 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1740 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1741 disabling in command line overlays with all configuration |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1742 $ hg --config extensions.reposetuptest=! clone -U src clone-dst5 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1743 $ hg --config extensions.reposetuptest=! init push-dst5 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1744 $ hg --config extensions.reposetuptest=! -q -R src push push-dst5 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1745 $ hg --config extensions.reposetuptest=! init pull-src5 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1746 $ hg --config extensions.reposetuptest=! -q -R pull-src5 pull src |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1747 |
23172
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1748 $ cat <<EOF >> $HGRCPATH |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1749 > [extensions] |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1750 > # disable extension globally and explicitly |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1751 > reposetuptest = ! |
e955549cd045
tests: write hgrc of more than two lines by using shell heredoc
Yuya Nishihara <yuya@tcha.org>
parents:
23151
diff
changeset
|
1752 > EOF |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1753 $ hg init parent |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1754 $ hg init parent/sub1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1755 $ echo 1 > parent/sub1/1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1756 $ hg -R parent/sub1 commit -Am '#0 at parent/sub1' |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1757 adding 1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1758 $ hg init parent/sub2 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1759 $ hg init parent/sub2/sub21 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1760 $ echo 21 > parent/sub2/sub21/21 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1761 $ hg -R parent/sub2/sub21 commit -Am '#0 at parent/sub2/sub21' |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1762 adding 21 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1763 $ cat > parent/sub2/.hgsub <<EOF |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1764 > sub21 = sub21 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1765 > EOF |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1766 $ hg -R parent/sub2 commit -Am '#0 at parent/sub2' |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1767 adding .hgsub |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1768 $ hg init parent/sub3 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1769 $ echo 3 > parent/sub3/3 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1770 $ hg -R parent/sub3 commit -Am '#0 at parent/sub3' |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1771 adding 3 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1772 $ cat > parent/.hgsub <<EOF |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1773 > sub1 = sub1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1774 > sub2 = sub2 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1775 > sub3 = sub3 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1776 > EOF |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1777 $ hg -R parent commit -Am '#0 at parent' |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1778 adding .hgsub |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1779 $ echo '[extensions]' >> parent/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1780 $ echo '# enable extension locally' >> parent/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1781 $ echo "reposetuptest = $TESTTMP/reposetuptest.py" >> parent/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1782 $ cp parent/.hg/hgrc parent/sub2/.hg/hgrc |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1783 $ hg -R parent status -S -A |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1784 reposetup() for $TESTTMP/reposetup-test/parent |
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34948
diff
changeset
|
1785 reposetup() for $TESTTMP/reposetup-test/parent/sub2 |
19777
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1786 C .hgsub |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1787 C .hgsubstate |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1788 C sub1/1 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1789 C sub2/.hgsub |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1790 C sub2/.hgsubstate |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1791 C sub2/sub21/21 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1792 C sub3/3 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1793 |
6f72e7d28b35
extensions: list up only enabled extensions, if "ui" is specified
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
18748
diff
changeset
|
1794 $ cd .. |
24124
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1795 |
32342
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1796 Prohibit registration of commands that don't use @command (issue5137) |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1797 |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1798 $ hg init deprecated |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1799 $ cd deprecated |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1800 |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1801 $ cat <<EOF > deprecatedcmd.py |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1802 > def deprecatedcmd(repo, ui): |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1803 > pass |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1804 > cmdtable = { |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1805 > b'deprecatedcmd': (deprecatedcmd, [], b''), |
32342
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1806 > } |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1807 > EOF |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1808 $ cat <<EOF > .hg/hgrc |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1809 > [extensions] |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1810 > deprecatedcmd = `pwd`/deprecatedcmd.py |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1811 > mq = ! |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1812 > hgext.mq = ! |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1813 > hgext/mq = ! |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1814 > EOF |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1815 |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1816 $ hg deprecatedcmd > /dev/null |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1817 *** failed to import extension deprecatedcmd from $TESTTMP/deprecated/deprecatedcmd.py: missing attributes: norepo, optionalrepo, inferrepo |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1818 *** (use @command decorator to register 'deprecatedcmd') |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1819 hg: unknown command 'deprecatedcmd' |
38787
5199c5b6fd29
dispatch: don't show list of commands on bogus command
Martin von Zweigbergk <martinvonz@google.com>
parents:
38534
diff
changeset
|
1820 (use 'hg help' for a list of commands) |
32342
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1821 [255] |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1822 |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1823 the extension shouldn't be loaded at all so the mq works: |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1824 |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1825 $ hg qseries --config extensions.mq= > /dev/null |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1826 *** failed to import extension deprecatedcmd from $TESTTMP/deprecated/deprecatedcmd.py: missing attributes: norepo, optionalrepo, inferrepo |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1827 *** (use @command decorator to register 'deprecatedcmd') |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1828 |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1829 $ cd .. |
e5fbf9687600
extensions: prohibit registration of command without using @command (API)
Yuya Nishihara <yuya@tcha.org>
parents:
32337
diff
changeset
|
1830 |
24124
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1831 Test synopsis and docstring extending |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1832 |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1833 $ hg init exthelp |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1834 $ cat > exthelp.py <<EOF |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1835 > from mercurial import commands, extensions |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1836 > def exbookmarks(orig, *args, **opts): |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1837 > return orig(*args, **opts) |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1838 > def uisetup(ui): |
38018
a9ffb4a577d0
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37977
diff
changeset
|
1839 > synopsis = b' GREPME [--foo] [-x]' |
24124
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1840 > docstring = ''' |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1841 > GREPME make sure that this is in the help! |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1842 > ''' |
36458
2218f5bfafca
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36269
diff
changeset
|
1843 > extensions.wrapcommand(commands.table, b'bookmarks', exbookmarks, |
24124
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1844 > synopsis, docstring) |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1845 > EOF |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1846 $ abspath=`pwd`/exthelp.py |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1847 $ echo '[extensions]' >> $HGRCPATH |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1848 $ echo "exthelp = $abspath" >> $HGRCPATH |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1849 $ cd exthelp |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1850 $ hg help bookmarks | grep GREPME |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1851 hg bookmarks [OPTIONS]... [NAME]... GREPME [--foo] [-x] |
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1852 GREPME make sure that this is in the help! |
32343
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1853 $ cd .. |
24124
042d95beeee8
extensions: allow extending command synopsis and docstring
Ryan McElroy <rm@fb.com>
parents:
23871
diff
changeset
|
1854 |
32343
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1855 Show deprecation warning for the use of cmdutil.command |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1856 |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1857 $ cat > nonregistrar.py <<EOF |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1858 > from mercurial import cmdutil |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1859 > cmdtable = {} |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1860 > command = cmdutil.command(cmdtable) |
33097
fce4ed2912bb
py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
33052
diff
changeset
|
1861 > @command(b'foo', [], norepo=True) |
32343
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1862 > def foo(ui): |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1863 > pass |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1864 > EOF |
d47d7d3bd07b
extensions: show deprecation warning for the use of cmdutil.command
Yuya Nishihara <yuya@tcha.org>
parents:
32342
diff
changeset
|
1865 |
34048
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1866 Prohibit the use of unicode strings as the default value of options |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1867 |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1868 $ hg init $TESTTMP/opt-unicode-default |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1869 |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1870 $ cat > $TESTTMP/test_unicode_default_value.py << EOF |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
1871 > from __future__ import print_function |
34048
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1872 > from mercurial import registrar |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1873 > cmdtable = {} |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1874 > command = registrar.command(cmdtable) |
38018
a9ffb4a577d0
py3: add b'' prefixes in tests/test-extension.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
37977
diff
changeset
|
1875 > @command(b'dummy', [(b'', b'opt', u'value', u'help')], 'ext [OPTIONS]') |
34048
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1876 > def ext(*args, **opts): |
40181
958b4c506d3a
tests: ensure print() statements in test-extension.t all flush
Augie Fackler <augie@google.com>
parents:
39931
diff
changeset
|
1877 > print(opts[b'opt'], flush=True) |
34048
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1878 > EOF |
40872
07e181ed82ef
py3: quote several instances of $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
40729
diff
changeset
|
1879 $ "$PYTHON" $TESTTMP/unflush.py $TESTTMP/test_unicode_default_value.py |
34048
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1880 $ cat > $TESTTMP/opt-unicode-default/.hg/hgrc << EOF |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1881 > [extensions] |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1882 > test_unicode_default_value = $TESTTMP/test_unicode_default_value.py |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1883 > EOF |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1884 $ hg -R $TESTTMP/opt-unicode-default dummy |
40184
c3b7d9c54edd
tests: glob away some annoying py3 differences
Augie Fackler <augie@google.com>
parents:
40183
diff
changeset
|
1885 *** failed to import extension test_unicode_default_value from $TESTTMP/test_unicode_default_value.py: unicode *'value' found in cmdtable.dummy (glob) |
36269
4088e568a411
extensions: reject any unicode strings in tables before loading
Yuya Nishihara <yuya@tcha.org>
parents:
35773
diff
changeset
|
1886 *** (use b'' to make it byte string) |
34048
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1887 hg: unknown command 'dummy' |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1888 (did you mean summary?) |
0e0ac8f09048
extensions: prohibit unicode defaults
Christophe de Vienne <christophe@cdevienne.info>
parents:
33939
diff
changeset
|
1889 [255] |