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

[GSoC PATCH 1/2] MyFirstContribution: use struct repository in examples

From
Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>
Date
May 29, 2025, 19:20 UTC
Message-ID
<20250529192036.75408-2-lucasseikioshiro@gmail.com>
In-Reply-To
<20250529192036.75408-1-lucasseikioshiro@gmail.com>
Add the parameter `struct repository *repo` to the cmd_walken function.

Since commit 9b1cb50, all the cmd_* have the `repo` parameter and new commands must follow this convention, so the documentation should also be changed.

Also change the `git_config` calls to `repo_config`, also passing the `repo` parameter.

Signed-off-by: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com>
---
 Documentation/MyFirstObjectWalk.adoc | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/Documentation/MyFirstObjectWalk.adoc b/Documentation/MyFirstObjectWalk.adoc
index f03753dfc0..29d26abb47 100644
--- a/Documentation/MyFirstObjectWalk.adoc
+++ b/Documentation/MyFirstObjectWalk.adoc
@@ -43,7 +43,7 @@ Open up a new file `builtin/walken.c` and set up the command handler:
 #include "builtin.h"
 #include "trace.h"
 
-int cmd_walken(int argc, const char **argv, const char *prefix)
+int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo)
 {
 	trace_printf(_("cmd_walken incoming...\n"));
 	return 0;
@@ -86,7 +86,7 @@ int cmd_walken(int argc, const char **argv, const char *prefix)
 Also add the relevant line in `builtin.h` near `cmd_version()`:
 
 ----
-int cmd_walken(int argc, const char **argv, const char *prefix);
+int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo);
 ----
 
 Include the command in `git.c` in `commands[]` near the entry for `version`,
@@ -193,7 +193,7 @@ initialization functions.
 
 Next, we should have a look at any relevant configuration settings (i.e.,
 settings readable and settable from `git config`). This is done by providing a
-callback to `git_config()`; within that callback, you can also invoke methods
+callback to `repo_config()`; within that callback, you can also invoke methods
 from other components you may need that need to intercept these options. Your
 callback will be invoked once per each configuration value which Git knows about
 (global, local, worktree, etc.).
@@ -221,14 +221,14 @@ static int git_walken_config(const char *var, const char *value,
 }
 ----
 
-Make sure to invoke `git_config()` with it in your `cmd_walken()`:
+Make sure to invoke `repo_config()` with it in your `cmd_walken()`:
 
 ----
-int cmd_walken(int argc, const char **argv, const char *prefix)
+int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo)
 {
 	...
 
-	git_config(git_walken_config, NULL);
+	repo_config(repo, git_walken_config, NULL);
 
 	...
 }
@@ -250,14 +250,14 @@ We'll also need to include the `revision.h` header:
 
 ...
 
-int cmd_walken(int argc, const char **argv, const char *prefix)
+int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo)
 {
 	/* This can go wherever you like in your declarations.*/
 	struct rev_info rev;
 	...
 
 	/* This should go after the git_config() call. */
-	repo_init_revisions(the_repository, &rev, prefix);
+	repo_init_revisions(repo, the_repository, &rev, prefix);
 
 	...
 }
@@ -305,7 +305,7 @@ Then let's invoke `final_rev_info_setup()` after the call to
 `repo_init_revisions()`:
 
 ----
-int cmd_walken(int argc, const char **argv, const char *prefix)
+int cmd_walken(int argc, const char **argv, const char *prefix, struct repository *repo)
 {
 	...
 
-- 
2.39.5 (Apple Git-154)
Previous: Lucas Seiki OshiroNext: Karthik Nayak
Message 2 of 11 in “Update MyFirstObjectWalk with struct repository and meson”
  1. 0/2 Update MyFirstObjectWalk with struct repository and mesonLucas Seiki Oshiro, May 29, 2025
  2. 1/2 MyFirstContribution: use struct repository in examplesLucas Seiki Oshiro, May 29, 2025
  3. Karthik NayakMay 29, 2025
  4. 2/2 MyFirstContribution: add walken.c to meson.buildLucas Seiki Oshiro, May 29, 2025
  5. Karthik NayakMay 29, 2025
  6. Patrick SteinhardtMay 30, 2025
  7. Karthik NayakMay 29, 2025
  8. 0/2 MyFirstObjectWalk: update with struct repository and mesonLucas Seiki Oshiro, Jun 2, 2025
  9. 2/2 MyFirstContribution: add walken.c to meson.buildLucas Seiki Oshiro, Jun 2, 2025
  10. 1/2 MyFirstContribution: use struct repository in examplesLucas Seiki Oshiro, Jun 2, 2025
  11. Patrick SteinhardtJun 3, 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.