add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILE

Since b3b18d1621 (advice: revamp advise API, 2020-03-02), we can use advise_if_enabled() to display an advice. This API encapsulates three actions: 1.- checking the visibility of the advice 2.- displaying the advice when appropriate 3.- displaying instructions on how to disable the advice, when appropriate The code we have in builtin/add.c to display the ADVICE_ADD_IGNORED_FILE advice, is doing these three things. However, the instructions displayed on how to disable the hint are not shown in the normalized way that advise_if_enabled() introduced. This may cause distraction. There is no reason not to use the new API here. On the contrary, by using it we gain simplicity in the code and avoid possible distractions. For these reasons, use the newer advise_if_enabled() machinery to show the ADVICE_ADD_IGNORED_FILE advice, and don't bother checking the visibility or displaying the instruction on how to disable the advice. Signed-off-by: Rubén Justo <rjusto@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Rubén Justo committed Mar 30, 2024 at 15:07 UTC 9da49befd0ac6d014433c1ecb1a55570dbca9290
3 files changed +4 -8
builtin/add.c
+2 -4
@@ -328,10 +328,8 @@ static int add_files(struct dir_struct *dir, int flags)
328 fprintf(stderr, _(ignore_error));
329 for (i = 0; i < dir->ignored_nr; i++)
330 fprintf(stderr, "%s\n", dir->ignored[i]->name);
331 - if (advice_enabled(ADVICE_ADD_IGNORED_FILE))
332 - advise(_("Use -f if you really want to add them.\n"
333 - "Turn this message off by running\n"
334 - "\"git config advice.addIgnoredFile false\""));
331 + advise_if_enabled(ADVICE_ADD_IGNORED_FILE,
332 + _("Use -f if you really want to add them."));
333 exit_status = 1;
334 }
335
t/t3700-add.sh
+1 -2
@@ -370,8 +370,7 @@ cat >expect.err <<\EOF
370 The following paths are ignored by one of your .gitignore files:
371 ignored-file
372 hint: Use -f if you really want to add them.
373 -hint: Turn this message off by running
374 -hint: "git config advice.addIgnoredFile false"
373 +hint: Disable this message with "git config advice.addIgnoredFile false"
374 EOF
375 cat >expect.out <<\EOF
376 add 'track-this'
t/t7400-submodule-basic.sh
+1 -2
@@ -212,8 +212,7 @@ test_expect_success 'submodule add to .gitignored path fails' '
212 The following paths are ignored by one of your .gitignore files:
213 submod
214 hint: Use -f if you really want to add them.
215 - hint: Turn this message off by running
216 - hint: "git config advice.addIgnoredFile false"
215 + hint: Disable this message with "git config advice.addIgnoredFile false"
216 EOF
217 # Does not use test_commit due to the ignore
218 echo "*" > .gitignore &&