path: root/advice.c
diff options
authorNguyễn Thái Ngọc Duy <>2018-05-26 13:55:24 (GMT)
committerJunio C Hamano <>2018-05-29 05:51:28 (GMT)
commit3ac68a93fd2b984e2a7e570217d2646a208ffcc3 (patch)
treea2daa2ec0763d187815899c677681ff7ccb6acf8 /advice.c
parenta46baac61ebc6a8b187f76bcd49b625e0d4f408e (diff)
help: add --config to list all available config
Sometimes it helps to list all available config vars so the user can search for something they want. The config man page can also be used but it's harder to search if you want to focus on the variable name, for example. This is not the best way to collect the available config since it's not precise. Ideally we should have a centralized list of config in C code (pretty much like 'struct option'), but that's a lot more work. This will do for now. Signed-off-by: Nguyễn Thái Ngọc Duy <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'advice.c')
1 files changed, 9 insertions, 0 deletions
diff --git a/advice.c b/advice.c
index 370a56d..cf6c673 100644
--- a/advice.c
+++ b/advice.c
@@ -1,6 +1,7 @@
#include "cache.h"
#include "config.h"
#include "color.h"
+#include "help.h"
int advice_push_update_rejected = 1;
int advice_push_non_ff_current = 1;
@@ -131,6 +132,14 @@ int git_default_advice_config(const char *var, const char *value)
return 0;
+void list_config_advices(struct string_list *list, const char *prefix)
+ int i;
+ for (i = 0; i < ARRAY_SIZE(advice_config); i++)
+ list_config_item(list, prefix, advice_config[i].name);
int error_resolve_conflict(const char *me)
if (!strcmp(me, "cherry-pick"))