##// END OF EJS Templates
extensions: register functions always at loading extension (issue5601)...
extensions: register functions always at loading extension (issue5601) Before this patch, functions defined in extensions are registered via extra loaders only in _dispatch(). Therefore, loading extensions in other code paths like below omits registration of functions. - WSGI service - operation across repositories (e.g. subrepo) - test-duplicateoptions.py, using extensions.loadall() directly To register functions always at loading new extension, this patch moves implementation for extra loading from dispatch._dispatch() to extensions.loadall(). AFAIK, only commands module causes cyclic dependency between extensions module, but this patch imports all related modules just before extra loading in loadall(), in order to centralize them. This patch makes extensions.py depend on many other modules, even though extensions.py itself doesn't. It should be avoided if possible, but I don't have any better idea. Some other places like below aren't reasonable for extra loading, IMHO. - specific function in newly added module: existing callers of extensions.loadall() should invoke it, too - hg.repository() or so: no-repo commands aren't covered by this. BTW, this patch removes _loaded.add(name) on relocation, because dispatch._loaded is used only for extraloaders (for similar reason, "exts" variable is removed, too).

File last commit:

r33051:15a79ac8 default
r33052:45b0e9d0 default
Show More
test-identify.t
156 lines | 2.9 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014
#if no-outer-repo
Nicolas Dumazet
tests: unify test-identify
r11796
no repo
$ hg id
Martin Geisler
Merge with stable
r12070 abort: there is no Mercurial repository here (.hg not found)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-identify
r11796
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014 #endif
Nicolas Dumazet
tests: unify test-identify
r11796 create repo
$ hg init test
$ cd test
$ echo a > a
$ hg ci -Ama
adding a
basic id usage
$ hg id
cb9a9f314b8b tip
$ hg id --debug
cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b tip
$ hg id -q
cb9a9f314b8b
$ hg id -v
cb9a9f314b8b tip
with options
$ hg id -r.
cb9a9f314b8b tip
$ hg id -n
0
$ hg id -t
tip
$ hg id -b
default
$ hg id -i
cb9a9f314b8b
$ hg id -n -t -b -i
cb9a9f314b8b 0 default tip
Matt Harbison
identify: add template support...
r33051 $ hg id -Tjson
[
{
"bookmarks": [],
"branch": "default",
"changed": "",
"id": "cb9a9f314b8b",
"node": "ffffffffffffffffffffffffffffffffffffffff",
"p1": [{"node": "cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b", "rev": 0}],
"tags": ["tip"]
}
]
Nicolas Dumazet
tests: unify test-identify
r11796
with modifications
$ echo b > a
$ hg id -n -t -b -i
cb9a9f314b8b+ 0+ default tip
Matt Harbison
identify: add template support...
r33051 $ hg id -Tjson
[
{
"bookmarks": [],
"branch": "default",
"changed": "+",
"id": "cb9a9f314b8b+",
"node": "ffffffffffffffffffffffffffffffffffffffff",
"p1": [{"node": "cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b", "rev": 0}],
"tags": ["tip"]
}
]
Nicolas Dumazet
tests: unify test-identify
r11796
other local repo
$ cd ..
$ hg -R test id
cb9a9f314b8b+ tip
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014 #if no-outer-repo
Nicolas Dumazet
tests: unify test-identify
r11796 $ hg id test
cb9a9f314b8b+ tip
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014 #endif
Nicolas Dumazet
tests: unify test-identify
r11796
with remote http repo
$ cd test
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg id http://localhost:$HGPORT1/
cb9a9f314b8b
Kevin Bullock
id: add bookmarks to id...
r13477 remote with rev number?
$ hg id -n http://localhost:$HGPORT1/
Nils Adermann
identify: list bookmarks for remote repositories
r13644 abort: can't query remote revision number, branch, or tags
Kevin Bullock
id: add bookmarks to id...
r13477 [255]
Nicolas Dumazet
tests: unify test-identify
r11796 remote with tags?
$ hg id -t http://localhost:$HGPORT1/
Nils Adermann
identify: list bookmarks for remote repositories
r13644 abort: can't query remote revision number, branch, or tags
Kevin Bullock
id: add bookmarks to id...
r13477 [255]
remote with branch?
$ hg id -b http://localhost:$HGPORT1/
Nils Adermann
identify: list bookmarks for remote repositories
r13644 abort: can't query remote revision number, branch, or tags
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
introduce new RequirementError (issue2649)...
r13447
David Soria Parra
tests: add tests for bookmarks support in hg identify
r13645 test bookmark support
$ hg bookmark Y
$ hg bookmark Z
$ hg bookmarks
Y 0:cb9a9f314b8b
* Z 0:cb9a9f314b8b
$ hg id
cb9a9f314b8b+ tip Y/Z
$ hg id --bookmarks
Y Z
test remote identify with bookmarks
$ hg id http://localhost:$HGPORT1/
cb9a9f314b8b Y/Z
$ hg id --bookmarks http://localhost:$HGPORT1/
Y Z
$ hg id -r . http://localhost:$HGPORT1/
cb9a9f314b8b Y/Z
$ hg id --bookmarks -r . http://localhost:$HGPORT1/
Y Z
Mads Kiilerich
httppeer: reintroduce _abort that accidentally was removed in 167047ba3cfa...
r21188 test invalid lookup
$ hg id -r noNoNO http://localhost:$HGPORT1/
abort: unknown revision 'noNoNO'!
[255]
Adrian Buehlmann
introduce new RequirementError (issue2649)...
r13447 Make sure we do not obscure unknown requires file entries (issue2649)
$ echo fake >> .hg/requires
$ hg id
Mads Kiilerich
repo: rephrase the "missing requirement" error message...
r20820 abort: repository requires features unknown to this Mercurial: fake!
Matt Mackall
urls: bulk-change primary website URLs
r26421 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
Adrian Buehlmann
introduce new RequirementError (issue2649)...
r13447 [255]
$ cd ..
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014 #if no-outer-repo
Adrian Buehlmann
introduce new RequirementError (issue2649)...
r13447 $ hg id test
Mads Kiilerich
repo: rephrase the "missing requirement" error message...
r20820 abort: repository requires features unknown to this Mercurial: fake!
Matt Mackall
urls: bulk-change primary website URLs
r26421 (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
Adrian Buehlmann
introduce new RequirementError (issue2649)...
r13447 [255]
Mads Kiilerich
tests: convert some 'hghave no-outer-repo' to #if...
r17014 #endif