help: filter out deprecated options with untranslated descriptions

When using a different language than English, deprecated options were only
removed from the output of `hg help anycmd` when "DEPRECATED" in the options
description was translated.
This commit is contained in:
Simon Heimberg 2014-02-17 07:39:53 +01:00
parent 0a2a1314d9
commit eb788ff3c1
2 changed files with 30 additions and 1 deletions

View File

@ -41,7 +41,7 @@ def optrst(options, verbose):
shortopt, longopt, default, desc = option
optlabel = _("VALUE") # default label
if _("DEPRECATED") in desc and not verbose:
if not verbose and ("DEPRECATED" in desc or _("DEPRECATED") in desc):
continue
so = ''

View File

@ -649,6 +649,7 @@ Test command without options
use "hg help" for the full list of commands or "hg -v" for details
[255]
$ cat > helpext.py <<EOF
> import os
> from mercurial import commands
@ -657,6 +658,7 @@ Test command without options
> pass
>
> cmdtable = {
> "debugoptDEP": (nohelp, [('', 'dopt', None, 'option is DEPRECATED')],),
> "nohelp": (nohelp, [('', 'longdesc', 3, 'x'*90),
> ('n', '', None, 'normal desc'),
> ('', 'newline', '', 'line1\nline2'),
@ -792,6 +794,33 @@ Test list of commands with command with no help text
use "hg -v help helpext" to show builtin aliases and global options
test deprecated option is hidden in command help
$ hg help debugoptDEP
hg debugoptDEP
(no help text available)
options:
use "hg -v help debugoptDEP" to show the global options
test deprecated option is shown with -v
$ hg help -v debugoptDEP | grep dopt
--dopt option is DEPRECATED
test deprecated option is hidden with translation with untranslated description
(use many globy for not failing on changed transaction)
$ LANGUAGE=sv hg help debugoptDEP
hg debugoptDEP
(*) (glob)
flaggor:
*"hg -v help debugoptDEP"* (glob)
Test a help topic
$ hg help revs