add: use advise function to display hints
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>maint
							parent
							
								
									d0654dc308
								
							
						
					
					
						commit
						bf66db37f1
					
				
							
								
								
									
										2
									
								
								advice.c
								
								
								
								
							
							
						
						
									
										2
									
								
								advice.c
								
								
								
								
							|  | @ -31,6 +31,7 @@ int advice_graft_file_deprecated = 1; | ||||||
| int advice_checkout_ambiguous_remote_branch_name = 1; | int advice_checkout_ambiguous_remote_branch_name = 1; | ||||||
| int advice_nested_tag = 1; | int advice_nested_tag = 1; | ||||||
| int advice_submodule_alternate_error_strategy_die = 1; | int advice_submodule_alternate_error_strategy_die = 1; | ||||||
|  | int advice_add_nothing = 1; | ||||||
|  |  | ||||||
| static int advice_use_color = -1; | static int advice_use_color = -1; | ||||||
| static char advice_colors[][COLOR_MAXLEN] = { | static char advice_colors[][COLOR_MAXLEN] = { | ||||||
|  | @ -91,6 +92,7 @@ static struct { | ||||||
| 	{ "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name }, | 	{ "checkoutAmbiguousRemoteBranchName", &advice_checkout_ambiguous_remote_branch_name }, | ||||||
| 	{ "nestedTag", &advice_nested_tag }, | 	{ "nestedTag", &advice_nested_tag }, | ||||||
| 	{ "submoduleAlternateErrorStrategyDie", &advice_submodule_alternate_error_strategy_die }, | 	{ "submoduleAlternateErrorStrategyDie", &advice_submodule_alternate_error_strategy_die }, | ||||||
|  | 	{ "addNothing", &advice_add_nothing }, | ||||||
|  |  | ||||||
| 	/* make this an alias for backward compatibility */ | 	/* make this an alias for backward compatibility */ | ||||||
| 	{ "pushNonFastForward", &advice_push_update_rejected } | 	{ "pushNonFastForward", &advice_push_update_rejected } | ||||||
|  |  | ||||||
							
								
								
									
										1
									
								
								advice.h
								
								
								
								
							
							
						
						
									
										1
									
								
								advice.h
								
								
								
								
							|  | @ -31,6 +31,7 @@ extern int advice_graft_file_deprecated; | ||||||
| extern int advice_checkout_ambiguous_remote_branch_name; | extern int advice_checkout_ambiguous_remote_branch_name; | ||||||
| extern int advice_nested_tag; | extern int advice_nested_tag; | ||||||
| extern int advice_submodule_alternate_error_strategy_die; | extern int advice_submodule_alternate_error_strategy_die; | ||||||
|  | extern int advice_add_nothing; | ||||||
|  |  | ||||||
| int git_default_advice_config(const char *var, const char *value); | int git_default_advice_config(const char *var, const char *value); | ||||||
| __attribute__((format (printf, 1, 2))) | __attribute__((format (printf, 1, 2))) | ||||||
|  |  | ||||||
|  | @ -390,7 +390,8 @@ static int add_files(struct dir_struct *dir, int flags) | ||||||
| 		fprintf(stderr, _(ignore_error)); | 		fprintf(stderr, _(ignore_error)); | ||||||
| 		for (i = 0; i < dir->ignored_nr; i++) | 		for (i = 0; i < dir->ignored_nr; i++) | ||||||
| 			fprintf(stderr, "%s\n", dir->ignored[i]->name); | 			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; | 		exit_status = 1; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -480,7 +481,8 @@ int cmd_add(int argc, const char **argv, const char *prefix) | ||||||
|  |  | ||||||
| 	if (require_pathspec && pathspec.nr == 0) { | 	if (require_pathspec && pathspec.nr == 0) { | ||||||
| 		fprintf(stderr, _("Nothing specified, nothing added.\n")); | 		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; | 		return 0; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @ -326,7 +326,7 @@ test_expect_success 'git add --dry-run of an existing file output' " | ||||||
| cat >expect.err <<\EOF | cat >expect.err <<\EOF | ||||||
| The following paths are ignored by one of your .gitignore files: | The following paths are ignored by one of your .gitignore files: | ||||||
| ignored-file | ignored-file | ||||||
| Use -f if you really want to add them. | hint: Use -f if you really want to add them. | ||||||
| EOF | EOF | ||||||
| cat >expect.out <<\EOF | cat >expect.out <<\EOF | ||||||
| add 'track-this' | add 'track-this' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Heba Waly
						Heba Waly