[PATCH 4/5] config: create special init for list mode
- From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 10, 2026, 04:42 UTC
- Message-ID
- <5601a5a84f4c67b3dfb751c2b93d1c300909b9e3.1770698579.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.2044.git.1770698579.gitgitgadget@gmail.com>
From: Derrick Stolee <stolee@gmail.com>
When listing multiple values, our initial settings for the output format is different. Add a new init helper to specify the fact that keys should be shown and also add the default delimiters as they were unset in some cases.
There are two places, differing by the 'git config list' and 'git config --list' modes.
Signed-off-by: Derrick Stolee <stolee@gmail.com> --- builtin/config.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/builtin/config.c b/builtin/config.c index 5146abcfa3..e69b26af6a 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -917,6 +917,19 @@ static void display_options_init(struct config_display_options *opts) } } +static void display_options_init_list(struct config_display_options *opts) +{ + opts->show_keys = 1; + + if (opts->end_nul) { + display_options_init(opts); + } else { + opts->term = '\n'; + opts->delim = ' '; + opts->key_delim = '='; + } +} + static int cmd_config_list(int argc, const char **argv, const char *prefix, struct repository *repo UNUSED) { @@ -935,7 +948,7 @@ static int cmd_config_list(int argc, const char **argv, const char *prefix, check_argc(argc, 0, 0); location_options_init(&location_opts, prefix); - display_options_init(&display_opts); + display_options_init_list(&display_opts); setup_auto_pager("config", 1); @@ -1366,6 +1379,7 @@ static int cmd_config_actions(int argc, const char **argv, const char *prefix) if (actions == ACTION_LIST) { check_argc(argc, 0, 0); + display_options_init_list(&display_opts); if (config_with_options(show_all_config, &display_opts, &location_opts.source, the_repository, &location_opts.options) < 0) {
-- gitgitgadget