diff mbox series

[Outreachy,v2] builtin/update-server-info: remove the_repository global variable

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

Commit Message

Usman Akinyemi Feb. 10, 2025, 6:10 p.m. UTC
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(-)

Comments

Patrick Steinhardt Feb. 11, 2025, 7:43 a.m. UTC | #1
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
Junio C Hamano Feb. 11, 2025, 4:35 p.m. UTC | #2
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 mbox series

Patch

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);
 }