debuginstall: print compression engine support
Since compression engines may be provided by extensions and since
not all registered compression engines may be available to use,
it seems useful to provide a mechanism to see the state of known
compression engines.
This commit teaches `hg debuginstall` to print info on known and
available compression engines.
--- a/mercurial/commands.py Sun Nov 20 16:56:21 2016 -0800
+++ b/mercurial/commands.py Sat Nov 19 10:54:21 2016 -0800
@@ -2579,6 +2579,16 @@
problems += 1
fm.condwrite(err, 'extensionserror', " %s\n", err)
+ compengines = util.compengines._engines.values()
+ fm.write('compengines', _('checking registered compression engines (%s)\n'),
+ fm.formatlist(sorted(e.name() for e in compengines),
+ name='compengine', fmt='%s', sep=', '))
+ fm.write('compenginesavail', _('checking available compression engines '
+ '(%s)\n'),
+ fm.formatlist(sorted(e.name() for e in compengines
+ if e.available()),
+ name='compengine', fmt='%s', sep=', '))
+
# templates
p = templater.templatepaths()
fm.write('templatedirs', 'checking templates (%s)...\n', ' '.join(p))
--- a/tests/test-install.t Sun Nov 20 16:56:21 2016 -0800
+++ b/tests/test-install.t Sat Nov 19 10:54:21 2016 -0800
@@ -11,6 +11,8 @@
checking Mercurial custom build (*) (glob)
checking module policy (*) (glob)
checking installed modules (*mercurial)... (glob)
+ checking registered compression engines (*zlib*) (glob)
+ checking available compression engines (*zlib*) (glob)
checking templates (*mercurial?templates)... (glob)
checking default template (*mercurial?templates?map-cmdline.default) (glob)
checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
@@ -21,6 +23,8 @@
$ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
[
{
+ "compengines": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
+ "compenginesavail": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
"defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
"defaulttemplateerror": null,
"defaulttemplatenotfound": "default",
@@ -58,6 +62,8 @@
checking Mercurial custom build (*) (glob)
checking module policy (*) (glob)
checking installed modules (*mercurial)... (glob)
+ checking registered compression engines (*zlib*) (glob)
+ checking available compression engines (*zlib*) (glob)
checking templates (*mercurial?templates)... (glob)
checking default template (*mercurial?templates?map-cmdline.default) (glob)
checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
@@ -85,6 +91,8 @@
checking Mercurial custom build (*) (glob)
checking module policy (*) (glob)
checking installed modules (*mercurial)... (glob)
+ checking registered compression engines (*zlib*) (glob)
+ checking available compression engines (*zlib*) (glob)
checking templates (*mercurial?templates)... (glob)
checking default template (*mercurial?templates?map-cmdline.default) (glob)
checking commit editor... (* -c "import sys; sys.exit(0)") (glob)