Mercurial > hg-stable
changeset 33327:68b7ceda99d7
dispatch: fix typo suggestion for disabled extension
If the matching command lives in an in-tree extension (which is all we
scan for), and the user has disabled that extension with
"extensions.<name>=!", we were not finding it, because the path in
_disabledextensions was the empty string. If the user had set
"extensions.<name>=!<valid path>" it would work, so it seems like just
a mistake that it didn't work.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 07 Jul 2017 00:13:53 -0700 |
parents | 67b42e64194d |
children | c8f212cb0c83 |
files | mercurial/extensions.py tests/test-help.t |
diffstat | 2 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/extensions.py Fri Jul 07 00:12:44 2017 -0700 +++ b/mercurial/extensions.py Fri Jul 07 00:13:53 2017 -0700 @@ -494,7 +494,11 @@ if name in exts or name in _order or name == '__init__': continue exts[name] = path - exts.update(_disabledextensions) + for name, path in _disabledextensions.iteritems(): + # If no path was provided for a disabled extension (e.g. "color=!"), + # don't replace the path we already found by the scan above. + if path: + exts[name] = path return exts def _moduledoc(file):
--- a/tests/test-help.t Fri Jul 07 00:12:44 2017 -0700 +++ b/tests/test-help.t Fri Jul 07 00:13:53 2017 -0700 @@ -680,7 +680,11 @@ Disabled extension gets suggested $ hg --config extensions.rebase=! rebase hg: unknown command 'rebase' - (did you mean one of rename, resolve?) + 'rebase' is provided by the following extension: + + rebase command to move sets of revisions to a different ancestor + + (use 'hg help extensions' for information on enabling extensions) [255] Make sure that we don't run afoul of the help system thinking that