The aim of this patch series is to remove the definition '#define USE_THE_REPOSITORY_VARIABLE' from "builtin/fmt-merge-msg.c" by removing global variable 'merge_log_config' and the global 'the_repository' This patch series contains two patches: 1 - Remove the global varaible 'merge_log_config' and localize it in 'cmd_fmt_merge_msg()' and 'cmd_merge()'. Set its value by passing it in 'fmt_merge_msg_config()' by passing its pointer to the function via the callback parameter. 2 - Remove the dependency of 'the_repository' in "builtin/fmt-merge-msg.c", allowing the removal of the definition '#define USE_THE_REPOSITORY_VARIABLE'. Also add a test to make sure that "git fmt-merge-msg -h" can be called with repository being NULL. Thanks to Junio and Phillip for reviewing my patch series and Christian for mentoring me! Ayush Chandekar (2): environment: remove the global variable 'merge_log_config' builtin/fmt-merge-msg: stop depending on 'the_repository' builtin/fmt-merge-msg.c | 6 +++--- builtin/merge.c | 3 ++- environment.c | 1 - fmt-merge-msg.c | 10 ++++++---- fmt-merge-msg.h | 1 - t/t1517-outside-repo.sh | 7 +++++++ 6 files changed, 18 insertions(+), 10 deletions(-) Range-diff against v1: 1: c82620a1f5 < -: ---------- environment: remove the global variable 'merge_log_config' -: ---------- > 1: 3aa014ed46 environment: remove the global variable 'merge_log_config' 2: 04d6f682a6 ! 2: 8e55516cda builtin/fmt-merge-msg: stop depending on 'the_repository' @@ Commit message builtin/fmt-merge-msg: stop depending on 'the_repository' Refactor builtin/fmt-merge-msg.c to remove the dependancy on the global - 'the_repository'. Replace all the occurrences of 'the_repository' with - 'repo', where 'repo' is a pointer to 'struct repository' passed to the - function 'cmd_fmt_merge_msg()' and thus remove the definition '#define - USE_THE_REPOSITORY_VARIABLE'. Also, add a test to make sure that "git - fmt-merge-msg -h" can be called outside a repository. + 'the_repository'. Remove the 'UNUSED' macro from the 'struct repository' + parameter and replace 'git_config()' with 'repo_config()' so that + configuration is read from the passed repository. Also, add a test to + make sure that "git fmt-merge-msg -h" can be called outside a + repository. Mentored-by: Christian Couder <christian.couder@xxxxxxxxx> Mentored-by: Ghanshyam Thakkar <shyamthakkar001@xxxxxxxxx> @@ builtin/fmt-merge-msg.c: int cmd_fmt_merge_msg(int argc, int ret; struct fmt_merge_msg_opts opts; -- git_config(fmt_merge_msg_config, NULL); +- git_config(fmt_merge_msg_config, &merge_log_config); ++ repo_config(repo, fmt_merge_msg_config, &merge_log_config); argc = parse_options(argc, argv, prefix, options, fmt_merge_msg_usage, 0); if (argc > 0) - usage_with_options(fmt_merge_msg_usage, options); -+ repo_config(repo, fmt_merge_msg_config, NULL); - -- adjust_shortlog_len(the_repository, &shortlog_len); -+ adjust_shortlog_len(repo, &shortlog_len); - - if (inpath && strcmp(inpath, "-")) { - in = fopen(inpath, "r"); ## t/t1517-outside-repo.sh ## @@ t/t1517-outside-repo.sh: test_expect_success 'prune does not crash with -h' ' -- 2.49.0