Skip to content
Snippets Groups Projects
Commit f96059fa519c authored by Matt Harbison's avatar Matt Harbison
Browse files

extensions: gracefully warn when doing min version check with no local version

After doing a `make clean`, I started getting cryptic failures to import
extensions with the `minimumhgversion` attribute on py3:

    *** failed to import extension evolve: '>' not supported between instances of 'int' and 'NoneType'
    *** failed to import extension topic: '>' not supported between instances of 'int' and 'NoneType'

This now handles the `(None, None)` tuple before comparing, and disables the
extension with the same friendly message as in py2.

Differential Revision: https://phab.mercurial-scm.org/D9363
parent 4f6816e8440b
No related branches found
No related tags found
No related merge requests found
......@@ -222,13 +222,16 @@
# extensions short circuit when loaded with a known incompatible version
# of Mercurial.
minver = getattr(mod, 'minimumhgversion', None)
if minver and util.versiontuple(minver, 2) > util.versiontuple(n=2):
msg = _(
b'(third party extension %s requires version %s or newer '
b'of Mercurial (current: %s); disabling)\n'
)
ui.warn(msg % (shortname, minver, util.version()))
return
if minver:
curver = util.versiontuple(n=2)
if None in curver or util.versiontuple(minver, 2) > curver:
msg = _(
b'(third party extension %s requires version %s or newer '
b'of Mercurial (current: %s); disabling)\n'
)
ui.warn(msg % (shortname, minver, util.version()))
return
ui.log(b'extension', b' - validating extension tables: %s\n', shortname)
_validatetables(ui, mod)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment