1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-04 05:26:13 +02:00

Merge branch 'ja/i18n-common-messages'

Unify more messages to help l10n.

* ja/i18n-common-messages:
  i18n: fix some misformated placeholders in command synopsis
  i18n: remove from i18n strings that do not hold translatable parts
  i18n: factorize "invalid value" messages
  i18n: factorize more 'incompatible options' messages
This commit is contained in:
Junio C Hamano 2022-02-25 15:47:35 -08:00
commit d21d5ddfe6
42 changed files with 137 additions and 85 deletions

View File

@ -12,7 +12,7 @@
static char const * const archive_usage[] = { static char const * const archive_usage[] = {
N_("git archive [<options>] <tree-ish> [<path>...]"), N_("git archive [<options>] <tree-ish> [<path>...]"),
N_("git archive --list"), "git archive --list",
N_("git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"), N_("git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]"),
N_("git archive --remote <repo> [--exec <cmd>] --list"), N_("git archive --remote <repo> [--exec <cmd>] --list"),
NULL NULL

View File

@ -199,7 +199,7 @@ static int am_option_parse_empty(const struct option *opt,
else if (!strcmp(arg, "keep")) else if (!strcmp(arg, "keep"))
*opt_value = KEEP_EMPTY_COMMIT; *opt_value = KEEP_EMPTY_COMMIT;
else else
return error(_("Invalid value for --empty: %s"), arg); return error(_("invalid value for '%s': '%s'"), "--empty", arg);
return 0; return 0;
} }
@ -2239,7 +2239,8 @@ static int parse_opt_patchformat(const struct option *opt, const char *arg, int
* when you add new options * when you add new options
*/ */
else else
return error(_("Invalid value for --patch-format: %s"), arg); return error(_("invalid value for '%s': '%s'"),
"--patch-format", arg);
return 0; return 0;
} }
@ -2282,7 +2283,8 @@ static int parse_opt_show_current_patch(const struct option *opt, const char *ar
break; break;
} }
if (new_value >= ARRAY_SIZE(valid_modes)) if (new_value >= ARRAY_SIZE(valid_modes))
return error(_("Invalid value for --show-current-patch: %s"), arg); return error(_("invalid value for '%s': '%s'"),
"--show-current-patch", arg);
} }
if (resume->mode == RESUME_SHOW_PATCH && new_value != resume->sub_mode) if (resume->mode == RESUME_SHOW_PATCH && new_value != resume->sub_mode)

View File

@ -22,15 +22,15 @@ static GIT_PATH_FUNC(git_path_bisect_run, "BISECT_RUN")
static const char * const git_bisect_helper_usage[] = { static const char * const git_bisect_helper_usage[] = {
N_("git bisect--helper --bisect-reset [<commit>]"), N_("git bisect--helper --bisect-reset [<commit>]"),
N_("git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --term-new]"), "git bisect--helper --bisect-terms [--term-good | --term-old | --term-bad | --term-new]",
N_("git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}=<term>]" N_("git bisect--helper --bisect-start [--term-{new,bad}=<term> --term-{old,good}=<term>]"
" [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]"), " [--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]"),
N_("git bisect--helper --bisect-next"), "git bisect--helper --bisect-next",
N_("git bisect--helper --bisect-state (bad|new) [<rev>]"), N_("git bisect--helper --bisect-state (bad|new) [<rev>]"),
N_("git bisect--helper --bisect-state (good|old) [<rev>...]"), N_("git bisect--helper --bisect-state (good|old) [<rev>...]"),
N_("git bisect--helper --bisect-replay <filename>"), N_("git bisect--helper --bisect-replay <filename>"),
N_("git bisect--helper --bisect-skip [(<rev>|<range>)...]"), N_("git bisect--helper --bisect-skip [(<rev>|<range>)...]"),
N_("git bisect--helper --bisect-visualize"), "git bisect--helper --bisect-visualize",
N_("git bisect--helper --bisect-run <cmd>..."), N_("git bisect--helper --bisect-run <cmd>..."),
NULL NULL
}; };

View File

@ -721,8 +721,8 @@ static int git_blame_config(const char *var, const char *value, void *cb)
} }
if (!strcmp(var, "color.blame.repeatedlines")) { if (!strcmp(var, "color.blame.repeatedlines")) {
if (color_parse_mem(value, strlen(value), repeated_meta_color)) if (color_parse_mem(value, strlen(value), repeated_meta_color))
warning(_("invalid color '%s' in color.blame.repeatedLines"), warning(_("invalid value for '%s': '%s'"),
value); "color.blame.repeatedLines", value);
return 0; return 0;
} }
if (!strcmp(var, "color.blame.highlightrecent")) { if (!strcmp(var, "color.blame.highlightrecent")) {
@ -739,7 +739,8 @@ static int git_blame_config(const char *var, const char *value, void *cb)
coloring_mode &= ~(OUTPUT_COLOR_LINE | coloring_mode &= ~(OUTPUT_COLOR_LINE |
OUTPUT_SHOW_AGE_WITH_COLOR); OUTPUT_SHOW_AGE_WITH_COLOR);
} else { } else {
warning(_("invalid value for blame.coloring")); warning(_("invalid value for '%s': '%s'"),
"blame.coloring", value);
return 0; return 0;
} }
} }

View File

@ -1242,8 +1242,6 @@ static int parse_and_validate_options(int argc, const char *argv[],
struct commit *current_head, struct commit *current_head,
struct wt_status *s) struct wt_status *s)
{ {
int f = 0;
argc = parse_options(argc, argv, prefix, options, usage, 0); argc = parse_options(argc, argv, prefix, options, usage, 0);
finalize_deferred_config(s); finalize_deferred_config(s);
@ -1251,7 +1249,7 @@ static int parse_and_validate_options(int argc, const char *argv[],
force_author = find_author_by_nickname(force_author); force_author = find_author_by_nickname(force_author);
if (force_author && renew_authorship) if (force_author && renew_authorship)
die(_("Using both --reset-author and --author does not make sense")); die(_("options '%s' and '%s' cannot be used together"), "--reset-author", "--author");
if (logfile || have_option_m || use_message) if (logfile || have_option_m || use_message)
use_editor = 0; use_editor = 0;
@ -1268,20 +1266,16 @@ static int parse_and_validate_options(int argc, const char *argv[],
die(_("You are in the middle of a rebase -- cannot amend.")); die(_("You are in the middle of a rebase -- cannot amend."));
} }
if (fixup_message && squash_message) if (fixup_message && squash_message)
die(_("Options --squash and --fixup cannot be used together")); die(_("options '%s' and '%s' cannot be used together"), "--squash", "--fixup");
if (use_message) die_for_incompatible_opt4(!!use_message, "-C",
f++; !!edit_message, "-c",
if (edit_message) !!logfile, "-F",
f++; !!fixup_message, "--fixup");
if (fixup_message) die_for_incompatible_opt4(have_option_m, "-m",
f++; !!edit_message, "-c",
if (logfile) !!use_message, "-C",
f++; !!logfile, "-F");
if (f > 1) if (use_message || edit_message || logfile ||fixup_message || have_option_m)
die(_("Only one of -c/-C/-F/--fixup can be used."));
if (have_option_m && (edit_message || use_message || logfile))
die((_("Option -m cannot be combined with -c/-C/-F.")));
if (f || have_option_m)
template_file = NULL; template_file = NULL;
if (edit_message) if (edit_message)
use_message = edit_message; use_message = edit_message;
@ -1306,9 +1300,10 @@ static int parse_and_validate_options(int argc, const char *argv[],
if (patch_interactive) if (patch_interactive)
interactive = 1; interactive = 1;
if (also + only + all + interactive > 1) die_for_incompatible_opt4(also, "-i/--include",
die(_("Only one of --include/--only/--all/--interactive/--patch can be used.")); only, "-o/--only",
all, "-a/--all",
interactive, "--interactive/-p/--patch");
if (fixup_message) { if (fixup_message) {
/* /*
* We limit --fixup's suboptions to only alpha characters. * We limit --fixup's suboptions to only alpha characters.

View File

@ -87,7 +87,7 @@ static int print_alternate(struct object_directory *odb, void *data)
} }
static char const * const count_objects_usage[] = { static char const * const count_objects_usage[] = {
N_("git count-objects [-v] [-H | --human-readable]"), "git count-objects [-v] [-H | --human-readable]",
NULL NULL
}; };

View File

@ -732,8 +732,9 @@ int cmd_difftool(int argc, const char **argv, const char *prefix)
} else if (dir_diff) } else if (dir_diff)
die(_("options '%s' and '%s' cannot be used together"), "--dir-diff", "--no-index"); die(_("options '%s' and '%s' cannot be used together"), "--dir-diff", "--no-index");
if (use_gui_tool + !!difftool_cmd + !!extcmd > 1) die_for_incompatible_opt3(use_gui_tool, "--gui",
die(_("options '%s', '%s', and '%s' cannot be used together"), "--gui", "--tool", "--extcmd"); !!difftool_cmd, "--tool",
!!extcmd, "--extcmd");
if (use_gui_tool) if (use_gui_tool)
setenv("GIT_MERGETOOL_GUI", "true", 1); setenv("GIT_MERGETOOL_GUI", "true", 1);

View File

@ -26,7 +26,7 @@
#include "commit-slab.h" #include "commit-slab.h"
static const char *fast_export_usage[] = { static const char *fast_export_usage[] = {
N_("git fast-export [rev-list-opts]"), N_("git fast-export [<rev-list-opts>]"),
NULL NULL
}; };

View File

@ -764,8 +764,8 @@ static void prepare_format_display(struct ref *ref_map)
else if (!strcasecmp(format, "compact")) else if (!strcasecmp(format, "compact"))
compact_format = 1; compact_format = 1;
else else
die(_("configuration fetch.output contains invalid value %s"), die(_("invalid value for '%s': '%s'"),
format); "fetch.output", format);
for (rm = ref_map; rm; rm = rm->next) { for (rm = ref_map; rm; rm = rm->next) {
if (rm->status == REF_STATUS_REJECT_SHALLOW || if (rm->status == REF_STATUS_REJECT_SHALLOW ||

View File

@ -1167,11 +1167,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
if (!show_in_pager && !opt.status_only) if (!show_in_pager && !opt.status_only)
setup_pager(); setup_pager();
if (!use_index && (untracked || cached)) die_for_incompatible_opt3(!use_index, "--no-index",
die(_("--cached or --untracked cannot be used with --no-index")); untracked, "--untracked",
cached, "--cached");
if (untracked && cached)
die(_("--untracked cannot be used with --cached"));
if (!use_index || untracked) { if (!use_index || untracked) {
int use_exclude = (opt_exclude < 0) ? use_index : !!opt_exclude; int use_exclude = (opt_exclude < 0) ? use_index : !!opt_exclude;

View File

@ -81,7 +81,7 @@ int cmd_hash_object(int argc, const char **argv, const char *prefix)
{ {
static const char * const hash_object_usage[] = { static const char * const hash_object_usage[] = {
N_("git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>..."), N_("git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] [--] <file>..."),
N_("git hash-object --stdin-paths"), "git hash-object --stdin-paths",
NULL NULL
}; };
const char *type = blob_type; const char *type = blob_type;

View File

@ -77,8 +77,8 @@ static struct option builtin_help_options[] = {
static const char * const builtin_help_usage[] = { static const char * const builtin_help_usage[] = {
N_("git help [-a|--all] [--[no-]verbose]]\n" N_("git help [-a|--all] [--[no-]verbose]]\n"
" [[-i|--info] [-m|--man] [-w|--web]] [<command>]"), " [[-i|--info] [-m|--man] [-w|--web]] [<command>]"),
N_("git help [-g|--guides]"), "git help [-g|--guides]",
N_("git help [-c|--config]"), "git help [-c|--config]",
NULL NULL
}; };

View File

@ -1993,8 +1993,9 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
if (rev.show_notes) if (rev.show_notes)
load_display_notes(&rev.notes_opt); load_display_notes(&rev.notes_opt);
if (use_stdout + rev.diffopt.close_file + !!output_directory > 1) die_for_incompatible_opt3(use_stdout, "--stdout",
die(_("options '%s', '%s', and '%s' cannot be used together"), "--stdout", "--output", "--output-directory"); rev.diffopt.close_file, "--output",
!!output_directory, "--output-directory");
if (use_stdout) { if (use_stdout) {
setup_pager(); setup_pager();

View File

@ -159,12 +159,14 @@ int cmd_merge_base(int argc, const char **argv, const char *prefix)
if (argc < 2) if (argc < 2)
usage_with_options(merge_base_usage, options); usage_with_options(merge_base_usage, options);
if (show_all) if (show_all)
die("--is-ancestor cannot be used with --all"); die(_("options '%s' and '%s' cannot be used together"),
"--is-ancestor", "--all");
return handle_is_ancestor(argc, argv); return handle_is_ancestor(argc, argv);
} }
if (cmdmode == 'r' && show_all) if (cmdmode == 'r' && show_all)
die("--independent cannot be used with --all"); die(_("options '%s' and '%s' cannot be used together"),
"--independent", "--all");
if (cmdmode == 'o') if (cmdmode == 'o')
return handle_octopus(argc, argv, show_all); return handle_octopus(argc, argv, show_all);

View File

@ -7,7 +7,7 @@
#include "config.h" #include "config.h"
static char const * const builtin_mktag_usage[] = { static char const * const builtin_mktag_usage[] = {
N_("git mktag"), "git mktag",
NULL NULL
}; };
static int option_strict = 1; static int option_strict = 1;

View File

@ -63,7 +63,7 @@ static void write_tree(struct object_id *oid)
} }
static const char *mktree_usage[] = { static const char *mktree_usage[] = {
N_("git mktree [-z] [--missing] [--batch]"), "git mktree [-z] [--missing] [--batch]",
NULL NULL
}; };

View File

@ -32,8 +32,8 @@ static const char * const git_notes_usage[] = {
N_("git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"), N_("git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]"),
N_("git notes [--ref <notes-ref>] show [<object>]"), N_("git notes [--ref <notes-ref>] show [<object>]"),
N_("git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"), N_("git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>"),
N_("git notes merge --commit [-v | -q]"), "git notes merge --commit [-v | -q]",
N_("git notes merge --abort [-v | -q]"), "git notes merge --abort [-v | -q]",
N_("git notes [--ref <notes-ref>] remove [<object>...]"), N_("git notes [--ref <notes-ref>] remove [<object>...]"),
N_("git notes [--ref <notes-ref>] prune [-n] [-v]"), N_("git notes [--ref <notes-ref>] prune [-n] [-v]"),
N_("git notes [--ref <notes-ref>] get-ref"), N_("git notes [--ref <notes-ref>] get-ref"),
@ -89,7 +89,7 @@ static const char * const git_notes_prune_usage[] = {
}; };
static const char * const git_notes_get_ref_usage[] = { static const char * const git_notes_get_ref_usage[] = {
N_("git notes get-ref"), "git notes get-ref",
NULL NULL
}; };

View File

@ -3504,7 +3504,7 @@ static int option_parse_missing_action(const struct option *opt,
return 0; return 0;
} }
die(_("invalid value for --missing")); die(_("invalid value for '%s': '%s'"), "--missing", arg);
return 0; return 0;
} }

View File

@ -3,7 +3,7 @@
#include "prune-packed.h" #include "prune-packed.h"
static const char * const prune_packed_usage[] = { static const char * const prune_packed_usage[] = {
N_("git prune-packed [-n | --dry-run] [-q | --quiet]"), "git prune-packed [-n | --dry-run] [-q | --quiet]",
NULL NULL
}; };

View File

@ -42,9 +42,9 @@ static enum rebase_type parse_config_rebase(const char *key, const char *value,
return v; return v;
if (fatal) if (fatal)
die(_("Invalid value for %s: %s"), key, value); die(_("invalid value for '%s': '%s'"), key, value);
else else
error(_("Invalid value for %s: %s"), key, value); error(_("invalid value for '%s': '%s'"), key, value);
return REBASE_INVALID; return REBASE_INVALID;
} }
@ -318,7 +318,7 @@ static const char *config_get_ff(void)
if (!strcmp(value, "only")) if (!strcmp(value, "only"))
return "--ff-only"; return "--ff-only";
die(_("Invalid value for pull.ff: %s"), value); die(_("invalid value for '%s': '%s'"), "pull.ff", value);
} }
/** /**

View File

@ -486,7 +486,7 @@ static int git_push_config(const char *k, const char *v, void *cb)
if (value && !strcasecmp(value, "if-asked")) if (value && !strcasecmp(value, "if-asked"))
set_push_cert_flags(flags, SEND_PACK_PUSH_CERT_IF_ASKED); set_push_cert_flags(flags, SEND_PACK_PUSH_CERT_IF_ASKED);
else else
return error("Invalid value for '%s'", k); return error(_("invalid value for '%s'"), k);
} }
} }
} else if (!strcmp(k, "push.recursesubmodules")) { } else if (!strcmp(k, "push.recursesubmodules")) {

View File

@ -37,7 +37,7 @@ static char const * const builtin_rebase_usage[] = {
"[--onto <newbase> | --keep-base] [<upstream> [<branch>]]"), "[--onto <newbase> | --keep-base] [<upstream> [<branch>]]"),
N_("git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] " N_("git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] "
"--root [<branch>]"), "--root [<branch>]"),
N_("git rebase --continue | --abort | --skip | --edit-todo"), "git rebase --continue | --abort | --skip | --edit-todo",
NULL NULL
}; };

View File

@ -818,7 +818,7 @@ static int cmd_reflog_exists(int argc, const char **argv, const char *prefix)
*/ */
static const char reflog_usage[] = static const char reflog_usage[] =
N_("git reflog [ show | expire | delete | exists ]"); "git reflog [ show | expire | delete | exists ]";
int cmd_reflog(int argc, const char **argv, const char *prefix) int cmd_reflog(int argc, const char **argv, const char *prefix)
{ {

View File

@ -14,7 +14,7 @@
#include "commit-reach.h" #include "commit-reach.h"
static const char * const builtin_remote_usage[] = { static const char * const builtin_remote_usage[] = {
N_("git remote [-v | --verbose]"), "git remote [-v | --verbose]",
N_("git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>"), N_("git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>"),
N_("git remote rename <old> <new>"), N_("git remote rename <old> <new>"),
N_("git remote remove <name>"), N_("git remote remove <name>"),

View File

@ -22,7 +22,7 @@ static const char * const git_replace_usage[] = {
N_("git replace [-f] <object> <replacement>"), N_("git replace [-f] <object> <replacement>"),
N_("git replace [-f] --edit <object>"), N_("git replace [-f] --edit <object>"),
N_("git replace [-f] --graft <commit> [<parent>...]"), N_("git replace [-f] --graft <commit> [<parent>...]"),
N_("git replace [-f] --convert-graft-file"), "git replace [-f] --convert-graft-file",
N_("git replace -d <object>..."), N_("git replace -d <object>..."),
N_("git replace [--format=<format>] [-l [<pattern>]]"), N_("git replace [--format=<format>] [-l [<pattern>]]"),
NULL NULL

View File

@ -20,7 +20,7 @@
#include "packfile.h" #include "packfile.h"
static const char rev_list_usage[] = static const char rev_list_usage[] =
"git rev-list [OPTION] <commit-id>... [ -- paths... ]\n" "git rev-list [<options>] <commit-id>... [-- <path>...]\n"
" limiting output:\n" " limiting output:\n"
" --max-count=<n>\n" " --max-count=<n>\n"
" --max-age=<epoch>\n" " --max-age=<epoch>\n"

View File

@ -145,7 +145,7 @@ static int send_pack_config(const char *k, const char *v, void *cb)
if (value && !strcasecmp(value, "if-asked")) if (value && !strcasecmp(value, "if-asked"))
args.push_cert = SEND_PACK_PUSH_CERT_IF_ASKED; args.push_cert = SEND_PACK_PUSH_CERT_IF_ASKED;
else else
return error("Invalid value for '%s'", k); return error(_("invalid value for '%s'"), k);
} }
} }
} }

View File

@ -44,7 +44,7 @@ static void write_patterns_to_file(FILE *fp, struct pattern_list *pl)
} }
static char const * const builtin_sparse_checkout_list_usage[] = { static char const * const builtin_sparse_checkout_list_usage[] = {
N_("git sparse-checkout list"), "git sparse-checkout list",
NULL NULL
}; };
@ -419,7 +419,7 @@ static int update_modes(int *cone_mode, int *sparse_index)
} }
static char const * const builtin_sparse_checkout_init_usage[] = { static char const * const builtin_sparse_checkout_init_usage[] = {
N_("git sparse-checkout init [--cone] [--[no-]sparse-index]"), "git sparse-checkout init [--cone] [--[no-]sparse-index]",
NULL NULL
}; };
@ -765,7 +765,7 @@ static int sparse_checkout_set(int argc, const char **argv, const char *prefix)
} }
static char const * const builtin_sparse_checkout_reapply_usage[] = { static char const * const builtin_sparse_checkout_reapply_usage[] = {
N_("git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]"), "git sparse-checkout reapply [--[no-]cone] [--[no-]sparse-index]",
NULL NULL
}; };
@ -803,7 +803,7 @@ static int sparse_checkout_reapply(int argc, const char **argv)
} }
static char const * const builtin_sparse_checkout_disable_usage[] = { static char const * const builtin_sparse_checkout_disable_usage[] = {
N_("git sparse-checkout disable"), "git sparse-checkout disable",
NULL NULL
}; };

View File

@ -15,8 +15,8 @@ static void comment_lines(struct strbuf *buf)
} }
static const char * const stripspace_usage[] = { static const char * const stripspace_usage[] = {
N_("git stripspace [-s | --strip-comments]"), "git stripspace [-s | --strip-comments]",
N_("git stripspace [-c | --comment-lines]"), "git stripspace [-c | --comment-lines]",
NULL NULL
}; };

View File

@ -2884,7 +2884,7 @@ static int module_config(int argc, const char **argv, const char *prefix)
const char *const git_submodule_helper_usage[] = { const char *const git_submodule_helper_usage[] = {
N_("git submodule--helper config <name> [<value>]"), N_("git submodule--helper config <name> [<value>]"),
N_("git submodule--helper config --unset <name>"), N_("git submodule--helper config --unset <name>"),
N_("git submodule--helper config --check-writeable"), "git submodule--helper config --check-writeable",
NULL NULL
}; };

View File

@ -4,7 +4,7 @@
#include "parse-options.h" #include "parse-options.h"
static const char * const update_server_info_usage[] = { static const char * const update_server_info_usage[] = {
N_("git update-server-info [--force]"), "git update-server-info [--force]",
NULL NULL
}; };

View File

@ -78,7 +78,7 @@ static void set_diff_merges(struct rev_info *revs, const char *optarg)
diff_merges_setup_func_t func = func_by_opt(optarg); diff_merges_setup_func_t func = func_by_opt(optarg);
if (!func) if (!func)
die(_("unknown value for --diff-merges: %s"), optarg); die(_("invalid value for '%s': '%s'"), "--diff-merges", optarg);
func(revs); func(revs);

View File

@ -716,7 +716,7 @@ int git_gpg_config(const char *var, const char *value, void *cb)
return config_error_nonbool(var); return config_error_nonbool(var);
fmt = get_format_by_name(value); fmt = get_format_by_name(value);
if (!fmt) if (!fmt)
return error("unsupported value for %s: %s", return error(_("invalid value for '%s': '%s'"),
var, value); var, value);
use_format = fmt; use_format = fmt;
return 0; return 0;
@ -731,8 +731,8 @@ int git_gpg_config(const char *var, const char *value, void *cb)
free(trust); free(trust);
if (ret) if (ret)
return error("unsupported value for %s: %s", var, return error(_("invalid value for '%s': '%s'"),
value); var, value);
return 0; return 0;
} }

View File

@ -34,7 +34,8 @@ static void ensure_config_read(void)
} else if (!strcmp(str, "ignore")) { } else if (!strcmp(str, "ignore")) {
/* do nothing */ /* do nothing */
} else { } else {
die(_("invalid value '%s' for lsrefs.unborn"), str); die(_("invalid value for '%s': '%s'"),
"lsrefs.unborn", str);
} }
} }
config_read = 1; config_read = 1;

View File

@ -39,8 +39,8 @@ void get_parallel_checkout_configs(int *num_workers, int *threshold)
if (env_workers && *env_workers) { if (env_workers && *env_workers) {
if (strtol_i(env_workers, 10, num_workers)) { if (strtol_i(env_workers, 10, num_workers)) {
die("invalid value for GIT_TEST_CHECKOUT_WORKERS: '%s'", die(_("invalid value for '%s': '%s'"),
env_workers); "GIT_TEST_CHECKOUT_WORKERS", env_workers);
} }
if (*num_workers < 1) if (*num_workers < 1)
*num_workers = online_cpus(); *num_workers = online_cpus();

View File

@ -1092,3 +1092,37 @@ void NORETURN usage_msg_optf(const char * const fmt,
usage_msg_opt(msg.buf, usagestr, options); usage_msg_opt(msg.buf, usagestr, options);
} }
void die_for_incompatible_opt4(int opt1, const char *opt1_name,
int opt2, const char *opt2_name,
int opt3, const char *opt3_name,
int opt4, const char *opt4_name)
{
int count = 0;
const char *options[4];
if (opt1)
options[count++] = opt1_name;
if (opt2)
options[count++] = opt2_name;
if (opt3)
options[count++] = opt3_name;
if (opt4)
options[count++] = opt4_name;
switch (count) {
case 4:
die(_("options '%s', '%s', '%s', and '%s' cannot be used together"),
opt1_name, opt2_name, opt3_name, opt4_name);
break;
case 3:
die(_("options '%s', '%s', and '%s' cannot be used together"),
options[0], options[1], options[2]);
break;
case 2:
die(_("options '%s' and '%s' cannot be used together"),
options[0], options[1]);
break;
default:
break;
}
}

View File

@ -240,6 +240,22 @@ void NORETURN usage_msg_optf(const char *fmt,
const char * const *usagestr, const char * const *usagestr,
const struct option *options, ...); const struct option *options, ...);
void die_for_incompatible_opt4(int opt1, const char *opt1_name,
int opt2, const char *opt2_name,
int opt3, const char *opt3_name,
int opt4, const char *opt4_name);
static inline void die_for_incompatible_opt3(int opt1, const char *opt1_name,
int opt2, const char *opt2_name,
int opt3, const char *opt3_name)
{
die_for_incompatible_opt4(opt1, opt1_name,
opt2, opt2_name,
opt3, opt3_name,
0, "");
}
/* /*
* Use these assertions for callbacks that expect to be called with NONEG and * Use these assertions for callbacks that expect to be called with NONEG and
* NOARG respectively, and do not otherwise handle the "unset" and "arg" * NOARG respectively, and do not otherwise handle the "unset" and "arg"

View File

@ -2802,7 +2802,7 @@ static int populate_opts_cb(const char *key, const char *value, void *data)
return error(_("invalid key: %s"), key); return error(_("invalid key: %s"), key);
if (!error_flag) if (!error_flag)
return error(_("invalid value for %s: %s"), key, value); return error(_("invalid value for '%s': '%s'"), key, value);
return 0; return 0;
} }

View File

@ -559,7 +559,8 @@ static enum extension_result handle_extension(const char *var,
return config_error_nonbool(var); return config_error_nonbool(var);
format = hash_algo_by_name(value); format = hash_algo_by_name(value);
if (format == GIT_HASH_UNKNOWN) if (format == GIT_HASH_UNKNOWN)
return error("invalid value for 'extensions.objectformat'"); return error(_("invalid value for '%s': '%s'"),
"extensions.objectformat", value);
data->hash_algo = format; data->hash_algo = format;
return EXTENSION_OK; return EXTENSION_OK;
} }

View File

@ -497,7 +497,7 @@ static int parse_config(const char *var, const char *value, void *data)
else if (parse_submodule_update_strategy(value, else if (parse_submodule_update_strategy(value,
&submodule->update_strategy) < 0 || &submodule->update_strategy) < 0 ||
submodule->update_strategy.type == SM_UPDATE_COMMAND) submodule->update_strategy.type == SM_UPDATE_COMMAND)
die(_("invalid value for %s"), var); die(_("invalid value for '%s'"), var);
} else if (!strcmp(item.buf, "shallow")) { } else if (!strcmp(item.buf, "shallow")) {
if (!me->overwrite && submodule->recommend_shallow != -1) if (!me->overwrite && submodule->recommend_shallow != -1)
warn_multiple_config(me->treeish_name, submodule->name, warn_multiple_config(me->treeish_name, submodule->name,

View File

@ -1169,7 +1169,7 @@ test_expect_success 'invalid when passing the --empty option alone' '
test_when_finished "git am --abort || :" && test_when_finished "git am --abort || :" &&
git checkout empty-commit^ && git checkout empty-commit^ &&
test_must_fail git am --empty empty-commit.patch 2>err && test_must_fail git am --empty empty-commit.patch 2>err &&
echo "error: Invalid value for --empty: empty-commit.patch" >expected && echo "error: invalid value for '\''--empty'\'': '\''empty-commit.patch'\''" >expected &&
test_cmp expected err test_cmp expected err
' '

View File

@ -442,7 +442,7 @@ test_expect_success '--fixup=reword: give error with pathsec' '
' '
test_expect_success '--fixup=reword: -F give error message' ' test_expect_success '--fixup=reword: -F give error message' '
echo "fatal: Only one of -c/-C/-F/--fixup can be used." >expect && echo "fatal: options '\''-F'\'' and '\''--fixup'\'' cannot be used together" >expect &&
test_must_fail git commit --fixup=reword:HEAD~ -F msg 2>actual && test_must_fail git commit --fixup=reword:HEAD~ -F msg 2>actual &&
test_cmp expect actual test_cmp expect actual
' '