Read about our upcoming Code of Conduct on this issue

This instance was upgraded to Heptapod 0.28.0 today

Commit fc790db5 authored by Gregory Szorc's avatar Gregory Szorc
Browse files

extensions: refactor function for obtaining disabled extension help

The way this worked before was hgext.__index__ was consulted.
This file appears to only be present on some Windows distributions.

This file contains a dict mapping extension name to its summary line,
not its full docstring.

The problem with this is that code in the help system was calling
this function to resolve help text. If hgext.__index__ was present,
only the summary line would be displayed. If not, the full extension
help would be printed.

This commit changes the function to not use hgext.__index__ such that
it always returns the full extension help text.

As a result of this change, test-extension.t and test-qrecord.t
now pass when run from environments that have an hgext.__index__.

Differential Revision: https://phab.mercurial-scm.org/D8344
parent 15aef805619d
......@@ -808,18 +808,8 @@ def disabled():
return exts
def disabledext(name):
'''find a specific disabled extension from hgext. returns desc'''
try:
from hgext import __index__ # pytype: disable=import-error
if name in _order: # enabled
return
else:
return gettext(__index__.docs.get(name))
except (ImportError, AttributeError):
pass
def disabled_help(name):
"""Obtain the full help text for a disabled extension, or None."""
paths = _disabledpaths()
if name in paths:
return _disabledhelp(paths[name])
......
......@@ -966,7 +966,7 @@ def help_(
doc = gettext(pycompat.getdoc(mod)) or _(b'no help text available')
except KeyError:
mod = None
doc = extensions.disabledext(name)
doc = extensions.disabled_help(name)
if not doc:
raise error.UnknownCommand(name)
......
......@@ -695,7 +695,7 @@ def clone(
# data.
createopts[b'lfs'] = True
if extensions.disabledext(b'lfs'):
if extensions.disabled_help(b'lfs'):
ui.status(
_(
b'(remote is using large file support (lfs), but it is '
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment