git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 2/3] add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPEC

From
Rubén Justo <rjusto@gmail.com>
Date
Mar 30, 2024, 14:08 UTC
Message-ID
<444bb0b2-781a-4eb7-a251-a1bbee2d87ce@gmail.com>
In-Reply-To
<46fba030-d7aa-49d2-88fa-e506850f7b6a@gmail.com>

Since 93b0d86aaf (git-add: error out when given no arguments., 2006-12-20) we display a message when no arguments are given to "git add".

Part of that message was converted to advice in bf66db37f1 (add: use advise function to display hints, 2020-01-07).

Following the same line of reasoning as in the previous commit, it is sensible to use advise_if_enabled() here.

Therefore, use advise_if_enabled() in builtin/add.c to show the ADVICE_ADD_EMPTY_PATHSPEC advice, and don't bother checking there the visibility of the advice or displaying the instruction on how to disable it.

Also add a test for these messages, in order to detect a possible change in them.

Signed-off-by: Rubén Justo <rjusto@gmail.com>
---
 builtin/add.c  |  6 ++----
 t/t3700-add.sh | 10 ++++++++++
 2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/builtin/add.c b/builtin/add.c
index 8f148987f7..289adaaecf 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -438,10 +438,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"));
-		if (advice_enabled(ADVICE_ADD_EMPTY_PATHSPEC))
-			advise( _("Maybe you wanted to say 'git add .'?\n"
-				"Turn this message off by running\n"
-				"\"git config advice.addEmptyPathspec false\""));
+		advise_if_enabled(ADVICE_ADD_EMPTY_PATHSPEC,
+				  _("Maybe you wanted to say 'git add .'?"));
 		return 0;
 	}
 
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index 76c2c9e7b0..681081e0d5 100755
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
@@ -28,6 +28,16 @@ test_expect_success 'Test of git add' '
 	touch foo && git add foo
 '
 
+test_expect_success 'Test with no pathspecs' '
+	cat >expect <<-EOF &&
+	Nothing specified, nothing added.
+	hint: Maybe you wanted to say ${SQ}git add .${SQ}?
+	hint: Disable this message with "git config advice.addEmptyPathspec false"
+	EOF
+	git add 2>actual &&
+	test_cmp expect actual
+'
+
 test_expect_success 'Post-check that foo is in the index' '
 	git ls-files foo | grep foo
 '
-- 
2.44.0.417.g254ece0ee4
Previous: Rubén JustoNext: Rubén Justo
Message 16 of 17 in “add: use advise_if_enabled”
  1. 0/3 add: use advise_if_enabledRubén Justo, Mar 29, 2024
  2. 1/3 add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILERubén Justo, Mar 29, 2024
  3. Junio C HamanoMar 29, 2024
  4. 2/3 add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPECRubén Justo, Mar 29, 2024
  5. 3/3 add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPORubén Justo, Mar 29, 2024
  6. Junio C HamanoMar 29, 2024
  7. Rubén JustoMar 29, 2024
  8. Junio C HamanoMar 29, 2024
  9. Rubén JustoMar 29, 2024
  10. Junio C HamanoMar 29, 2024
  11. Rubén JustoMar 30, 2024
  12. Junio C HamanoMar 29, 2024
  13. Rubén JustoMar 29, 2024
  14. 0/3 add: use advise_if_enabledRubén Justo, Mar 30, 2024
  15. 1/3 add: use advise_if_enabled for ADVICE_ADD_IGNORED_FILERubén Justo, Mar 30, 2024
  16. 2/3 add: use advise_if_enabled for ADVICE_ADD_EMPTY_PATHSPECRubén Justo, Mar 30, 2024
  17. 3/3 add: use advise_if_enabled for ADVICE_ADD_EMBEDDED_REPORubén Justo, Mar 30, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.