Skip to content

add: use advise function to display hints

Heba Waly via GitGitGadget git 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest1 patch 4 repliesIn review
  2. v1 RFC1 patch 10 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/1add: use advise function to display hintsadvice.c advice.h builtin/add.c +1 more+8 -34 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

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

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 <[email protected]>
      
     + 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;
       	}
Signature · 1 line
gitgitgadget