зеркало из https://github.com/microsoft/git.git
add: use advise function to display hints
Use the advise function in advice.c to display hints to the users, as it provides a neat and a standard format for hint messages, i.e: the text is colored in yellow and the line starts by the word "hint:". Also this will enable us to control the messages using advice.* configuration variables. Signed-off-by: Heba Waly <heba.waly@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
d0654dc308
Коммит
bf66db37f1
2
advice.c
2
advice.c
|
@ -31,6 +31,7 @@ int advice_graft_file_deprecated = 1;
|
||||||
int advice_checkout_ambiguous_remote_branch_name = 1;
|
int advice_checkout_ambiguous_remote_branch_name = 1;
|
||||||
int advice_nested_tag = 1;
|
int advice_nested_tag = 1;
|
||||||
int advice_submodule_alternate_error_strategy_die = 1;
|
int advice_submodule_alternate_error_strategy_die = 1;
|
||||||
|
int advice_add_nothing = 1;
|
||||||
|
|
||||||
static int advice_use_color = -1;
|
static int advice_use_color = -1;
|
||||||
static char advice_colors[][COLOR_MAXLEN] = {
|
static char advice_colors[][COLOR_MAXLEN] = {
|
||||||
|
@ -91,6 +92,7 @@ static struct {
|
||||||
{ "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name },
|
{ "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name },
|
||||||
{ "nestedTag", &advice_nested_tag },
|
{ "nestedTag", &advice_nested_tag },
|
||||||
{ "submoduleAlternateErrorStrategyDie", &advice_submodule_alternate_error_strategy_die },
|
{ "submoduleAlternateErrorStrategyDie", &advice_submodule_alternate_error_strategy_die },
|
||||||
|
{ "addNothing", &advice_add_nothing },
|
||||||
|
|
||||||
/* make this an alias for backward compatibility */
|
/* make this an alias for backward compatibility */
|
||||||
{ "pushNonFastForward", &advice_push_update_rejected }
|
{ "pushNonFastForward", &advice_push_update_rejected }
|
||||||
|
|
1
advice.h
1
advice.h
|
@ -31,6 +31,7 @@ extern int advice_graft_file_deprecated;
|
||||||
extern int advice_checkout_ambiguous_remote_branch_name;
|
extern int advice_checkout_ambiguous_remote_branch_name;
|
||||||
extern int advice_nested_tag;
|
extern int advice_nested_tag;
|
||||||
extern int advice_submodule_alternate_error_strategy_die;
|
extern int advice_submodule_alternate_error_strategy_die;
|
||||||
|
extern int advice_add_nothing;
|
||||||
|
|
||||||
int git_default_advice_config(const char *var, const char *value);
|
int git_default_advice_config(const char *var, const char *value);
|
||||||
__attribute__((format (printf, 1, 2)))
|
__attribute__((format (printf, 1, 2)))
|
||||||
|
|
|
@ -390,7 +390,8 @@ static int add_files(struct dir_struct *dir, int flags)
|
||||||
fprintf(stderr, _(ignore_error));
|
fprintf(stderr, _(ignore_error));
|
||||||
for (i = 0; i < dir->ignored_nr; i++)
|
for (i = 0; i < dir->ignored_nr; i++)
|
||||||
fprintf(stderr, "%s\n", dir->ignored[i]->name);
|
fprintf(stderr, "%s\n", dir->ignored[i]->name);
|
||||||
fprintf(stderr, _("Use -f if you really want to add them.\n"));
|
if (advice_add_nothing)
|
||||||
|
advise(_("Use -f if you really want to add them.\n"));
|
||||||
exit_status = 1;
|
exit_status = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -480,7 +481,8 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
||||||
|
|
||||||
if (require_pathspec && pathspec.nr == 0) {
|
if (require_pathspec && pathspec.nr == 0) {
|
||||||
fprintf(stderr, _("Nothing specified, nothing added.\n"));
|
fprintf(stderr, _("Nothing specified, nothing added.\n"));
|
||||||
fprintf(stderr, _("Maybe you wanted to say 'git add .'?\n"));
|
if (advice_add_nothing)
|
||||||
|
advise( _("Maybe you wanted to say 'git add .'?\n"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -326,7 +326,7 @@ test_expect_success 'git add --dry-run of an existing file output' "
|
||||||
cat >expect.err <<\EOF
|
cat >expect.err <<\EOF
|
||||||
The following paths are ignored by one of your .gitignore files:
|
The following paths are ignored by one of your .gitignore files:
|
||||||
ignored-file
|
ignored-file
|
||||||
Use -f if you really want to add them.
|
hint: Use -f if you really want to add them.
|
||||||
EOF
|
EOF
|
||||||
cat >expect.out <<\EOF
|
cat >expect.out <<\EOF
|
||||||
add 'track-this'
|
add 'track-this'
|
||||||
|
|
Загрузка…
Ссылка в новой задаче