##// 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:

r32578:746e12a7 default
r33052:45b0e9d0 default
Show More
test-cat.t
121 lines | 1.9 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: unify test-cat
r11874 $ hg init
$ echo 0 > a
$ echo 0 > b
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -A -m m
Martin Geisler
tests: unify test-cat
r11874 adding a
adding b
$ hg rm a
$ hg cat a
0
$ hg cat --decode a # more tests in test-encode
0
$ echo 1 > b
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m m
Martin Geisler
tests: unify test-cat
r11874 $ echo 2 > b
$ hg cat -r 0 a
0
$ hg cat -r 0 b
0
$ hg cat -r 1 a
Martin Geisler
tests: remove unneeded -d flags...
r12156 a: no such file in rev 7040230c159c
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Martin Geisler
tests: unify test-cat
r11874 $ hg cat -r 1 b
1
Patrick Mezard
fileset: fix generator vs list bug in fast path...
r17371
Martin von Zweigbergk
context.walk: walk all files when file and '.' given...
r24381 Test multiple files
Patrick Mezard
fileset: fix generator vs list bug in fast path...
r17371
$ echo 3 > c
$ hg ci -Am addmore c
Martin von Zweigbergk
context.walk: walk all files when file and '.' given...
r24381 $ hg cat b c
1
3
$ hg cat .
1
3
$ hg cat . c
1
3
Test fileset
Patrick Mezard
fileset: fix generator vs list bug in fast path...
r17371 $ hg cat 'set:not(b) or a'
3
$ hg cat 'set:c or b'
1
3
Matt Harbison
cat: explicitly document the supported formatter rules...
r21078 $ mkdir tmp
$ hg cat --output tmp/HH_%H c
$ hg cat --output tmp/RR_%R c
$ hg cat --output tmp/h_%h c
$ hg cat --output tmp/r_%r c
$ hg cat --output tmp/%s_s c
$ hg cat --output tmp/%d%%_d c
$ hg cat --output tmp/%p_p c
$ hg log -r . --template "{rev}: {node|short}\n"
2: 45116003780e
$ find tmp -type f | sort
tmp/.%_d
tmp/HH_45116003780e3678b333fb2c99fa7d559c8457e9
tmp/RR_2
tmp/c_p
tmp/c_s
tmp/h_45116003780e
tmp/r_2
Yuya Nishihara
cat: add formatter support...
r32578 Test template output
$ hg --cwd tmp cat ../b ../c -T '== {path} ({abspath}) ==\n{data}'
== ../b (b) == (glob)
1
== ../c (c) == (glob)
3
$ hg cat b c -Tjson --output -
[
{
"abspath": "b",
"data": "1\n",
"path": "b"
},
{
"abspath": "c",
"data": "3\n",
"path": "c"
}
]
$ hg cat b c -Tjson --output 'tmp/%p.json'
$ cat tmp/b.json
[
{
"abspath": "b",
"data": "1\n",
"path": "b"
}
]
$ cat tmp/c.json
[
{
"abspath": "c",
"data": "3\n",
"path": "c"
}
]
Yuya Nishihara
cat: disable optimization of single file case for workingctx...
r24720 Test working directory
$ echo b-wdir > b
$ hg cat -r 'wdir()' b
b-wdir
Matt Harbison
templater: add '{envvars}' to access environment variables...
r30833
Environment variables are not visible by default
$ PATTERN='t4' hg log -r '.' -T "{ifcontains('PATTERN', envvars, 'yes', 'no')}\n"
no
Environment variable visibility can be explicit
$ PATTERN='t4' hg log -r '.' -T "{envvars % '{key} -> {value}\n'}" \
> --config "experimental.exportableenviron=PATTERN"
PATTERN -> t4