Move `git_config()` call after `usage_with_options()` to avoid NULL `repo` check. When "-h" is passed to builtins using the RUN_SETUP macro, `repo` passed by `run_builtin()` will be NULL. If we use the `repo` instead of the global `the_repository` variable. We will have to switch from `git_config()` to `repo_config()` which takes in `repo`. We must check for NULL `repo` if `repo_config()` comes before `usage_with_options()`. Moving `git_config()` after `usage_with_options()` eliminates this need, as `usage_with_options()` exit before calling `repo_config()`. This will be useful in the following patch which remove `the_repository` global variable in favor of the `repo` passed by `run_builtin()`. Mentored-by: Christian Couder <chriscool@xxxxxxxxxxxxx> Signed-off-by: Usman Akinyemi <usmanakinyemi202@xxxxxxxxx> --- builtin/send-pack.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/builtin/send-pack.c b/builtin/send-pack.c index 8d461008e2..0848d23171 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -212,7 +212,6 @@ int cmd_send_pack(int argc, OPT_END() }; - git_config(send_pack_config, NULL); argc = parse_options(argc, argv, prefix, options, send_pack_usage, 0); if (argc > 0) { dest = argv[0]; @@ -222,6 +221,8 @@ int cmd_send_pack(int argc, if (!dest) usage_with_options(send_pack_usage, options); + git_config(send_pack_config, NULL); + args.verbose = verbose; args.dry_run = dry_run; args.send_mirror = send_mirror; -- 2.48.1