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