From: Derrick Stolee via GitGitGadget Date: Tue, 10 Feb 2026 04:42:58 GMT Subject: [PATCH 4/5] config: create special init for list mode Message-ID: <5601a5a84f4c67b3dfb751c2b93d1c300909b9e3.1770698579.git.gitgitgadget@gmail.com> In-Reply-To: From: Derrick Stolee 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 --- 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