tag: mark "--message" option with NONEG

We do not allow "--no-message" to work now, as the option callback
returns "-1" when it sees a NULL arg. However, that will cause
parse-options to exit(129) without printing anything further, leaving
the user confused about what happened.

Instead, let's explicitly mark it as PARSE_OPT_NONEG, which will give a
useful error message (and print the usual -h output).

In theory this could be used to override an earlier "-m", but it's not
clear how it would interact with other message options (e.g., would it
also clear data read for "-F"?). Since it's already disabled and nobody
is asking for it, let's punt on that and just improve the error message.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2018-11-05 01:43:12 -05:00 коммит произвёл Junio C Hamano
Родитель 403d2ba52c
Коммит 1f5db32d89
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -390,8 +390,8 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
OPT_GROUP(N_("Tag creation options")), OPT_GROUP(N_("Tag creation options")),
OPT_BOOL('a', "annotate", &annotate, OPT_BOOL('a', "annotate", &annotate,
N_("annotated tag, needs a message")), N_("annotated tag, needs a message")),
OPT_CALLBACK('m', "message", &msg, N_("message"), { OPTION_CALLBACK, 'm', "message", &msg, N_("message"),
N_("tag message"), parse_msg_arg), N_("tag message"), PARSE_OPT_NONEG, parse_msg_arg },
OPT_FILENAME('F', "file", &msgfile, N_("read message from file")), OPT_FILENAME('F', "file", &msgfile, N_("read message from file")),
OPT_BOOL('e', "edit", &edit_flag, N_("force edit of tag message")), OPT_BOOL('e', "edit", &edit_flag, N_("force edit of tag message")),
OPT_BOOL('s', "sign", &opt.sign, N_("annotated and GPG-signed tag")), OPT_BOOL('s', "sign", &opt.sign, N_("annotated and GPG-signed tag")),