diff options
author | Jeff King <peff@peff.net> | 2016-02-01 06:18:24 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-02-02 00:43:49 +0300 |
commit | 22396175267b7bcef97a02036831152539429bec (patch) | |
tree | ccf87b8a94dd117a7e2403770dc5458043bb372e /builtin/checkout-index.c | |
parent | 6a6df8aa45aa68df737d6c59d7abec499e9451da (diff) |
checkout-index: disallow "--no-stage" option
We do not really expect people to use "--no-stage", but if
they do, git currently segfaults. We could instead have it
undo the effects of a previous "--stage", but this gets
tricky around the "to_tempfile" flag. We cannot simply reset
it to 0, because we don't know if it was set by a previous
"--stage=all" or an explicit "--temp" option.
We could solve this by setting a flag and resolving
to_tempfile later, but it's not worth the effort. Nobody
actually wants to use "--no-stage"; we are just trying to
fix a potential segfault here.
While we're in the area, let's improve the user-facing
messages for this option. The error string should be
translatable, and we should give some hint in the "-h"
output about what can go in the argument field.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/checkout-index.c')
-rw-r--r-- | builtin/checkout-index.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index f8179a751b..92c69672e9 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -141,7 +141,7 @@ static int option_parse_stage(const struct option *opt, if ('1' <= ch && ch <= '3') checkout_stage = arg[0] - '0'; else - die("stage should be between 1 and 3 or all"); + die(_("stage should be between 1 and 3 or all")); } return 0; } @@ -173,9 +173,9 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix) N_("write the content to temporary files")), OPT_STRING(0, "prefix", &state.base_dir, N_("string"), N_("when creating files, prepend <string>")), - OPT_CALLBACK(0, "stage", NULL, NULL, + { OPTION_CALLBACK, 0, "stage", NULL, "1-3|all", N_("copy out the files from named stage"), - option_parse_stage), + PARSE_OPT_NONEG, option_parse_stage }, OPT_END() }; |