# HG changeset patch # User Matt Harbison # Date 2020-06-28 01:45:20 # Node ID e1ea913da2eda25f3f8eddc248d4e67f042ec1bd # Parent 47a07bbf400a24ef48bcaf0e7a4c15365c3a000b version: sort extensions by name in verbose mode External extensions can be assigned any name, but presumably most enabled extensions will be internal ones and having them sorted makes it easier to find specific ones if the list is long. The lists in `hg help extensions` are already sorted. Differential Revision: https://phab.mercurial-scm.org/D8671 diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -7830,7 +7830,7 @@ def version_(ui, **opts): names = [] vers = [] isinternals = [] - for name, module in extensions.extensions(): + for name, module in sorted(extensions.extensions()): names.append(name) vers.append(extensions.moduleversion(module) or None) isinternals.append(extensions.ismoduleinternal(module)) diff --git a/tests/test-extension.t b/tests/test-extension.t --- a/tests/test-extension.t +++ b/tests/test-extension.t @@ -1559,8 +1559,8 @@ Test version number support in 'hg versi Enabled extensions: + strip internal throw external 1.twentythree - strip internal $ hg version -q --config extensions.throw=throw.py Mercurial Distributed SCM (version *) (glob) @@ -1600,8 +1600,8 @@ Test template output of version: $ hg version --config extensions.throw=throw.py --config extensions.strip= \ > -T'{extensions % "{name} {pad(ver, 16)} ({if(bundled, "internal", "external")})\n"}' + strip (internal) throw 1.twentythree (external) - strip (internal) Refuse to load extensions with minimum version requirements