builtin/fmt-merge-msg: stop depending on 'the_repository'

Refactor builtin/fmt-merge-msg.c to remove the dependancy on the global '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@gmail.com> Mentored-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com> Signed-off-by: Ayush Chandekar <ayu.chandekar@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ayush Chandekar committed Aug 11, 2025 at 05:15 UTC 22d421fed9cd5757a9da5a97e5b53ded54e93fe9
2 files changed +9 -3
builtin/fmt-merge-msg.c
+2 -3
@@ -1,4 +1,3 @@
1 -#define USE_THE_REPOSITORY_VARIABLE
1 #include "builtin.h"
2 #include "config.h"
3 #include "fmt-merge-msg.h"
@@ -13,7 +12,7 @@ static const char * const fmt_merge_msg_usage[] = {
12 int cmd_fmt_merge_msg(int argc,
13 const char **argv,
14 const char *prefix,
16 - struct repository *repo UNUSED)
15 + struct repository *repo)
16 {
17 char *inpath = NULL;
18 const char *message = NULL;
@@ -54,7 +53,7 @@ int cmd_fmt_merge_msg(int argc,
53 int ret;
54 struct fmt_merge_msg_opts opts;
55
57 - git_config(fmt_merge_msg_config, &merge_log_config);
56 + repo_config(repo, fmt_merge_msg_config, &merge_log_config);
57 argc = parse_options(argc, argv, prefix, options, fmt_merge_msg_usage,
58 0);
59 if (argc > 0)
t/t1517-outside-repo.sh
+7
@@ -114,4 +114,11 @@ test_expect_success 'update-server-info does not crash with -h' '
114 test_grep "[Uu]sage: git update-server-info " usage
115 '
116
117 +test_expect_success 'fmt-merge-msg does not crash with -h' '
118 + test_expect_code 129 git fmt-merge-msg -h >usage &&
119 + test_grep "[Uu]sage: git fmt-merge-msg " usage &&
120 + test_expect_code 129 nongit git fmt-merge-msg -h >usage &&
121 + test_grep "[Uu]sage: git fmt-merge-msg " usage
122 +'
123 +
124 test_done