##// END OF EJS Templates
dispatch: make "_checkshellalias()" invoke "findcmd()" with "strict=True"...
dispatch: make "_checkshellalias()" invoke "findcmd()" with "strict=True" Before this patch, shell alias may be executed by abbreviated command name unexpectedly, even if abbreviated command name matches also against the command provided by extension. For example, "rebate" shell alias is executed by "hg reba", even if rebase extension (= "rebase" command) is enabled. In this case, "hg reba" should be aborted because of command name ambiguity. This patch makes "_checkshellalias()" invoke "cmdutil.findcmd()" always with "strict=True" (default value). If abbreviated command name matches against only one shell alias even after loading extensions, such shell alias will be executed via "_parse()". This patch doesn't remove "_checkshellalias()" invocation itself, because it may prevent shell alias from loading extensions uselessly.

File last commit:

r19778:55ef7903 default
r20328:03d345da stable
Show More
test-requires.t
69 lines | 2.0 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Nicolas Dumazet
tests: unify test-requires
r12116 $ cd t
$ echo a > a
$ hg add a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m test
Nicolas Dumazet
tests: unify test-requires
r12116 $ rm .hg/requires
$ hg tip
abort: index 00changelog.i unknown format 2!
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-requires
r12116 $ echo indoor-pool > .hg/requires
$ hg tip
Pierre-Yves David
requirements: show all missing features in the error message....
r14746 abort: unknown repository format: requires features 'indoor-pool' (upgrade Mercurial)!
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Pierre-Yves David
requirements: show all missing features in the error message....
r14746 $ echo outdoor-pool >> .hg/requires
$ hg tip
abort: unknown repository format: requires features 'indoor-pool', 'outdoor-pool' (upgrade Mercurial)!
[255]
FUJIWARA Katsunori
localrepo: make supported features manageable in each repositories individually...
r19778 $ cd ..
Test checking between features supported locally and ones required in
another repository of push/pull/clone on localhost:
$ mkdir supported-locally
$ cd supported-locally
$ hg init supported
$ echo a > supported/a
$ hg -R supported commit -Am '#0 at supported'
adding a
$ echo 'featuresetup-test' >> supported/.hg/requires
$ cat > $TESTTMP/supported-locally/supportlocally.py <<EOF
> from mercurial import localrepo, extensions
> def featuresetup(ui, supported):
> for name, module in extensions.extensions(ui):
> if __name__ == module.__name__:
> # support specific feature locally
> supported |= set(['featuresetup-test'])
> return
> def uisetup(ui):
> localrepo.localrepository.featuresetupfuncs.add(featuresetup)
> EOF
$ cat > supported/.hg/hgrc <<EOF
> [extensions]
> # enable extension locally
> supportlocally = $TESTTMP/supported-locally/supportlocally.py
> EOF
$ hg -R supported status
$ hg init push-dst
$ hg -R supported push push-dst
pushing to push-dst
abort: required features are not supported in the destination: featuresetup-test
[255]
$ hg init pull-src
$ hg -R pull-src pull supported
pulling from supported
abort: required features are not supported in the destination: featuresetup-test
[255]
$ hg clone supported clone-dst
abort: unknown repository format: requires features 'featuresetup-test' (upgrade Mercurial)!
[255]
$ hg clone --pull supported clone-dst
abort: required features are not supported in the destination: featuresetup-test
[255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..