On Thu, Aug 02 2018, René Scharfe wrote:

> Don't translate the argument specification for --chmod; "+x" and "-x"
> are the literal strings that the commands accept.
>
> Separate alternatives using a pipe character instead of a slash, for
> consistency.
>
> Use the flag PARSE_OPT_LITERAL_ARGHELP to prevent parseopt from adding a
> pair of angular brackets around the argument help string, as that would
> wrongly indicate that users need to replace the literal strings with
> some kind of value.

Good change.

Let's mention in the commit message thath we ended up with this because
of 4a4838b46a ("i18n: update-index: mark parseopt strings for
translation", 2012-08-20) and 4e55ed32db ("add: add --chmod=+x /
--chmod=-x options", 2016-05-31) , both of which obviously didn't intend
for this to happen, but were either mass-replacing "..." with N_("..."),
or blindly copy/pasting an existing option whose argument should have
been translated.

> Signed-off-by: Rene Scharfe <l....@web.de>
> ---
>  builtin/add.c          | 4 +++-
>  builtin/update-index.c | 2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/add.c b/builtin/add.c
> index 8a155dd41e..84bfec9b73 100644
> --- a/builtin/add.c
> +++ b/builtin/add.c
> @@ -304,7 +304,9 @@ static struct option builtin_add_options[] = {
>       OPT_BOOL( 0 , "refresh", &refresh_only, N_("don't add, only refresh the 
> index")),
>       OPT_BOOL( 0 , "ignore-errors", &ignore_add_errors, N_("just skip files 
> which cannot be added because of errors")),
>       OPT_BOOL( 0 , "ignore-missing", &ignore_missing, N_("check if - even 
> missing - files are ignored in dry run")),
> -     OPT_STRING( 0 , "chmod", &chmod_arg, N_("(+/-)x"), N_("override the 
> executable bit of the listed files")),
> +     { OPTION_STRING, 0, "chmod", &chmod_arg, "(+|-)x",
> +       N_("override the executable bit of the listed files"),
> +       PARSE_OPT_LITERAL_ARGHELP },
>       OPT_HIDDEN_BOOL(0, "warn-embedded-repo", &warn_on_embedded_repo,
>                       N_("warn when adding an embedded repository")),
>       OPT_END(),
> diff --git a/builtin/update-index.c b/builtin/update-index.c
> index a8709a26ec..7feda6e271 100644
> --- a/builtin/update-index.c
> +++ b/builtin/update-index.c
> @@ -971,7 +971,7 @@ int cmd_update_index(int argc, const char **argv, const 
> char *prefix)
>                       PARSE_OPT_NOARG | /* disallow --cacheinfo=<mode> form */
>                       PARSE_OPT_NONEG | PARSE_OPT_LITERAL_ARGHELP,
>                       (parse_opt_cb *) cacheinfo_callback},
> -             {OPTION_CALLBACK, 0, "chmod", &set_executable_bit, N_("(+/-)x"),
> +             {OPTION_CALLBACK, 0, "chmod", &set_executable_bit, "(+|-)x",
>                       N_("override the executable bit of the listed files"),
>                       PARSE_OPT_NONEG | PARSE_OPT_LITERAL_ARGHELP,
>                       chmod_callback},

Reply via email to