[PATCH v4] version: show enabled extensions (issue4209)
Augie Fackler
raf at durin42.com
Wed Jul 9 02:35:40 UTC 2014
On Jul 4, 2014, at 4:02 AM, anatoly techtonik <techtonik at gmail.com> wrote:
> # HG changeset patch
> # User anatoly techtonik <techtonik at gmail.com>
> # Date 1402397077 -10800
> # Tue Jun 10 13:44:37 2014 +0300
> # Branch stable
> # Node ID 867f0469a179167b2eeb70337beafcf2ae9524d9
> # Parent 2392b9e1936628faeec818368169a68b1fadd95f
> version: show enabled extensions (issue4209)
Queud! I'm satisfied enough with this that I'd like to see it land now - folks should feel encouraged to send follow-ups if needed.
Thanks for bearing with us!
>
> This code is based by hg-versions extension (GPLv2)
> by Markus Zapke-Gruendemann <info at keimlink.de>
>
>
> http://mercurial.selenic.com/wiki/VersionsExtension
>
> diff -r 2392b9e19366 -r 867f0469a179 mercurial/commands.py
> --- a/mercurial/commands.py Tue Jul 01 23:32:18 2014 -0500
> +++ b/mercurial/commands.py Tue Jun 10 13:44:37 2014 +0300
> @@ -14,6 +14,7 @@
> import patch, help, encoding, templatekw, discovery
> import archival, changegroup, cmdutil, hbisect
> import sshserver, hgweb, commandserver
> +import extensions
> from hgweb import server as hgweb_server
> import merge as mergemod
> import minirst, revset, fileset
> @@ -5921,6 +5922,19 @@
> "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
> ))
>
> + ui.note(_("\nEnabled extensions:\n\n"))
> + if ui.verbose:
> + # format names and versions into columns
> + names = []
> + vers = []
> + for name, module in extensions.extensions():
> + names.append(name)
> + vers.append(extensions.moduleversion(module))
> + maxnamelen = max(len(n) for n in names)
> + for i, name in enumerate(names):
> + ui.write(" %-*s %s\n" % (maxnamelen, name, vers[i]))
> +
> +
> norepo = ("clone init version help debugcommands debugcomplete"
> " debugdate debuginstall debugfsinfo debugpushkey debugwireargs"
> " debugknown debuggetbundle debugbundle")
> diff -r 2392b9e19366 -r 867f0469a179 mercurial/extensions.py
> --- a/mercurial/extensions.py Tue Jul 01 23:32:18 2014 -0500
> +++ b/mercurial/extensions.py Tue Jun 10 13:44:37 2014 +0300
> @@ -367,3 +367,16 @@
> exts[ename] = doc.splitlines()[0].strip()
>
> return exts
> +
> +def moduleversion(module):
> + '''return version information from given module as a string'''
> + if (util.safehasattr(module, 'get_version')
> + and callable(module.get_version)):
> + version = module.get_version()
> + elif util.safehasattr(module, '__version__'):
> + version = module.__version__
> + else:
> + version = ''
> + if isinstance(version, (list, tuple)):
> + version = '.'.join(str(o) for o in version)
> + return version
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-devel/attachments/20140708/7e1f34cd/attachment.asc>
More information about the Mercurial-devel
mailing list