Message ID | 20250210181103.3609495-1-usmanakinyemi202@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 62898b8f5e86b67dbc8f9092ae9ee0819823a0be |
Headers | show |
Series | [Outreachy,v2] builtin/update-server-info: remove the_repository global variable | expand |
On Mon, Feb 10, 2025 at 11:40:30PM +0530, Usman Akinyemi wrote: > Remove the_repository global variable in favor of the repository > argument that gets passed in "builtin/update-server-info.c". > > When `-h` is passed to the command outside a Git repository, the > `run_builtin()` will call the `cmd_update_server_info()` function > with `repo` set to NULL and then early in the function, "parse_options()" > call will give the options help and exit, without having to consult much > of the configuration file. So it is safe to omit reading the config when > `repo` argument the caller gave us is NULL. Thanks, this version looks good to me. Patrick
Patrick Steinhardt <ps@pks.im> writes: > On Mon, Feb 10, 2025 at 11:40:30PM +0530, Usman Akinyemi wrote: >> Remove the_repository global variable in favor of the repository >> argument that gets passed in "builtin/update-server-info.c". >> >> When `-h` is passed to the command outside a Git repository, the >> `run_builtin()` will call the `cmd_update_server_info()` function >> with `repo` set to NULL and then early in the function, "parse_options()" >> call will give the options help and exit, without having to consult much >> of the configuration file. So it is safe to omit reading the config when >> `repo` argument the caller gave us is NULL. > > Thanks, this version looks good to me. Yup, this looks good. Thanks, both.
diff --git a/builtin/update-server-info.c b/builtin/update-server-info.c index 47a3f0bdd9..d7467290a8 100644 --- a/builtin/update-server-info.c +++ b/builtin/update-server-info.c @@ -1,4 +1,3 @@ -#define USE_THE_REPOSITORY_VARIABLE #include "builtin.h" #include "config.h" #include "gettext.h" @@ -13,7 +12,7 @@ static const char * const update_server_info_usage[] = { int cmd_update_server_info(int argc, const char **argv, const char *prefix, - struct repository *repo UNUSED) + struct repository *repo) { int force = 0; struct option options[] = { @@ -21,11 +20,12 @@ int cmd_update_server_info(int argc, OPT_END() }; - git_config(git_default_config, NULL); + if (repo) + repo_config(repo, git_default_config, NULL); argc = parse_options(argc, argv, prefix, options, update_server_info_usage, 0); if (argc > 0) usage_with_options(update_server_info_usage, options); - return !!update_server_info(the_repository, force); + return !!update_server_info(repo, force); }
Remove the_repository global variable in favor of the repository argument that gets passed in "builtin/update-server-info.c". When `-h` is passed to the command outside a Git repository, the `run_builtin()` will call the `cmd_update_server_info()` function with `repo` set to NULL and then early in the function, "parse_options()" call will give the options help and exit, without having to consult much of the configuration file. So it is safe to omit reading the config when `repo` argument the caller gave us is NULL. Mentored-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com> --- builtin/update-server-info.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)