]> git.ipfire.org Git - thirdparty/git.git/commitdiff
add: use advise function to display hints
authorHeba Waly <heba.waly@gmail.com>
Tue, 7 Jan 2020 23:12:32 +0000 (23:12 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Jan 2020 20:15:04 +0000 (12:15 -0800)
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>
advice.c
advice.h
builtin/add.c
t/t3700-add.sh

index 249c60dcf32e242b57316385fb31d52bec2a282a..098ac0abeafc3c88b0d3602510e6ef8a7bf0c700 100644 (file)
--- a/advice.c
+++ b/advice.c
@@ -31,6 +31,7 @@ int advice_graft_file_deprecated = 1;
 int advice_checkout_ambiguous_remote_branch_name = 1;
 int advice_nested_tag = 1;
 int advice_submodule_alternate_error_strategy_die = 1;
+int advice_add_nothing = 1;
 
 static int advice_use_color = -1;
 static char advice_colors[][COLOR_MAXLEN] = {
@@ -91,6 +92,7 @@ static struct {
        { "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name },
        { "nestedTag", &advice_nested_tag },
        { "submoduleAlternateErrorStrategyDie", &advice_submodule_alternate_error_strategy_die },
+       { "addNothing", &advice_add_nothing },
 
        /* make this an alias for backward compatibility */
        { "pushNonFastForward", &advice_push_update_rejected }
index b706780614dd3721b71b79feed9b3e0bdae3964c..83287b0594ac405533c1972e180e289a2d758810 100644 (file)
--- a/advice.h
+++ b/advice.h
@@ -31,6 +31,7 @@ extern int advice_graft_file_deprecated;
 extern int advice_checkout_ambiguous_remote_branch_name;
 extern int advice_nested_tag;
 extern int advice_submodule_alternate_error_strategy_die;
+extern int advice_add_nothing;
 
 int git_default_advice_config(const char *var, const char *value);
 __attribute__((format (printf, 1, 2)))
index 4c38aff41957a07cc52eee8ac64bbb4afe2969e4..57b3186f69d5df4b9481badfa057d0fe39587ad6 100644 (file)
@@ -390,7 +390,8 @@ static int add_files(struct dir_struct *dir, int flags)
                fprintf(stderr, _(ignore_error));
                for (i = 0; i < dir->ignored_nr; i++)
                        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;
        }
 
@@ -480,7 +481,8 @@ int cmd_add(int argc, const char **argv, const char *prefix)
 
        if (require_pathspec && pathspec.nr == 0) {
                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;
        }
 
index c325167b90318b2f85a9b53e3aea89eb989e6d64..a649805369dbf09685233206e86717e75e6a7c14 100755 (executable)
@@ -326,7 +326,7 @@ test_expect_success 'git add --dry-run of an existing file output' "
 cat >expect.err <<\EOF
 The following paths are ignored by one of your .gitignore files:
 ignored-file
-Use -f if you really want to add them.
+hint: Use -f if you really want to add them.
 EOF
 cat >expect.out <<\EOF
 add 'track-this'