git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Usman Akinyemi <usmanakinyemi202@gmail.com>
Date
Feb 10, 2025, 18:10 UTC
Message-ID
<20250210181103.3609495-1-usmanakinyemi202@gmail.com>
In-Reply-To
<20250210142820.3588250-1-usmanakinyemi202@gmail.com>

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(-)
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);
 }
-- 
2.48.1
Previous: Usman AkinyemiNext: Patrick Steinhardt
Message 4 of 6 in “builtin/update-server-info: remove the_repository global variable”
  1. Usman AkinyemiFeb 10, 2025
  2. Junio C HamanoFeb 10, 2025
  3. Usman AkinyemiFeb 10, 2025
  4. [Outreachy][PATCH v2] builtin/update-server-info: remove the_repository global variableUsman Akinyemi, Feb 10, 2025
  5. Patrick SteinhardtFeb 11, 2025
  6. Junio C HamanoFeb 11, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.