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

[PATCH v2 0/1] [Outreachy] add: use advise function to display hints

From
Heba Waly via GitGitGadget <gitgitgadget@gmail.com>
Date
Jan 7, 2020, 23:12 UTC
Message-ID
<pull.508.v2.git.1578438752.gitgitgadget@gmail.com>
In-Reply-To
<pull.508.git.1577934241.gitgitgadget@gmail.com>

The advise function in advice.c 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 allow us to control the hint messages based on advice.* configuration variables.

This patch suggests using this advise function whenever displaying hints to improve the user experience, as the user's eyes will get used to the format and will scan the screen for the yellow hints whenever confused instead of reading all the output lines looking for advice.

Heba Waly (1):
  add: use advise function to display hints
 advice.c       | 2 ++
 advice.h       | 1 +
 builtin/add.c  | 6 ++++--
 t/t3700-add.sh | 2 +-
 4 files changed, 8 insertions(+), 3 deletions(-)
base-commit: 0a76bd7381ec0dbb7c43776eb6d1ac906bca29e6
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-508%2FHebaWaly%2Fformatting_hints-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-508/HebaWaly/formatting_hints-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/508
Range-diff vs v1:
 1:  90608636bf ! 1:  9f9febd3f4 add: use advise function to display hints
     @@ -6,8 +6,43 @@
          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>
      
     + diff --git a/advice.c b/advice.c
     + --- a/advice.c
     + +++ b/advice.c
     +@@
     + 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] = {
     +@@
     + 	{ "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 }
     +
     + diff --git a/advice.h b/advice.h
     + --- a/advice.h
     + +++ b/advice.h
     +@@
     + 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)))
     +
       diff --git a/builtin/add.c b/builtin/add.c
       --- a/builtin/add.c
       +++ b/builtin/add.c
     @@ -16,7 +51,8 @@
       		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"));
     -+		advise(_("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;
       	}
       
     @@ -25,7 +61,8 @@
       	if (require_pathspec && pathspec.nr == 0) {
       		fprintf(stderr, _("Nothing specified, nothing added.\n"));
      -		fprintf(stderr, _("Maybe you wanted to say 'git add .'?\n"));
     -+		advise( _("Maybe you wanted to say 'git add .'?\n"));
     ++		if (advice_add_nothing)
     ++			advise( _("Maybe you wanted to say 'git add .'?\n"));
       		return 0;
       	}
       
-- 
gitgitgadget
Previous: Junio C HamanoNext: Heba Waly via GitGitGadget
Message 13 of 26 in “[Outreachy] [RFC] add: use advise function to display hints”
  1. 0/1 [Outreachy] [RFC] add: use advise function to display hintsHeba Waly via GitGitGadget, Jan 2, 2020
  2. 1/1 add: use advise function to display hintsHeba Waly via GitGitGadget, Jan 2, 2020
  3. Junio C HamanoJan 2, 2020
  4. Junio C HamanoJan 2, 2020
  5. Heba WalyJan 7, 2020
  6. Junio C HamanoJan 7, 2020
  7. Heba WalyJan 7, 2020
  8. Emily ShafferJan 6, 2020
  9. Junio C HamanoJan 6, 2020
  10. Heba WalyJan 7, 2020
  11. Emily ShafferJan 6, 2020
  12. Junio C HamanoJan 6, 2020
  13. 0/1 [Outreachy] add: use advise function to display hintsHeba Waly via GitGitGadget, Jan 7, 2020
  14. 1/1 add: use advise function to display hintsHeba Waly via GitGitGadget, Jan 7, 2020
  15. Emily ShafferJan 27, 2020
  16. Heba WalyJan 29, 2020
  17. Jonathan TanJan 28, 2020
  18. Heba WalyJan 29, 2020
  19. add: use advice API to display hintsHeba Waly via GitGitGadget, Jan 30, 2020
  20. Junio C HamanoJan 30, 2020
  21. Heba WalyJan 31, 2020
  22. Junio C HamanoFeb 5, 2020
  23. Heba WalyFeb 5, 2020
  24. Junio C HamanoFeb 5, 2020
  25. Heba WalyFeb 5, 2020
  26. Junio C HamanoFeb 5, 2020

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.