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

[GSOC][PATCH 2/3] Update function signature and UNUSED to include struct repository and modify builtin.h accordingly

From
K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
Date
Mar 15, 2025, 18:15 UTC
Message-ID
<20250315181504.65069-2-jayatheerthkulkarni2005@gmail.com>
In-Reply-To
<20250315181504.65069-1-jayatheerthkulkarni2005@gmail.com>
Signed-off-by: K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
---
 Documentation/MyFirstContribution.adoc | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/Documentation/MyFirstContribution.adoc b/Documentation/MyFirstContribution.adoc
index f7e510e6c1..34a0336898 100644
--- a/Documentation/MyFirstContribution.adoc
+++ b/Documentation/MyFirstContribution.adoc
@@ -142,9 +142,13 @@ followed by the name of the subcommand, in a source file named after the
 subcommand and contained within `builtin/`. So it makes sense to implement your
 command in `builtin/psuh.c`. Create that file, and within it, write the entry
 point for your command in a function matching the style and signature:
-
 ----
-int cmd_psuh(int argc, const char **argv, const char *prefix)
+int cmd_psuh(int argc, const char **argv, const char *prefix, struct repository *repo)
+----
+Before proceeding further, we should use the UNUSED macro to suppress warnings about unused parameters in the function.
+This prevents the compiler from generating warnings when certain parameters are not used within the function body:
+----
+int cmd_psuh(int argc UNUSED, const char **argv UNUSED, const char *prefix UNUSED, struct repository *repo UNUSED)
 ----
 
 We'll also need to add the declaration of psuh; open up `builtin.h`, find the
@@ -152,7 +156,7 @@ declaration for `cmd_pull`, and add a new line for `psuh` immediately before it,
 in order to keep the declarations alphabetically sorted:
 
 ----
-int cmd_psuh(int argc, const char **argv, const char *prefix);
+int cmd_psuh(int argc, const char **argv, const char *prefix, struct repository *repo);
 ----
 
 Be sure to `#include "builtin.h"` in your `psuh.c`. You'll also need to
@@ -168,7 +172,7 @@ Throughout the tutorial, we will mark strings for translation as necessary; you
 should also do so when writing your user-facing commands in the future.
 
 ----
-int cmd_psuh(int argc, const char **argv, const char *prefix)
+int cmd_psuh(int argc UNUSED, const char **argv UNUSED, const char *prefix UNUSED, struct repository *repo UNUSED)
 {
 	printf(_("Pony saying hello goes here.\n"));
 	return 0;
@@ -199,6 +203,9 @@ with the command name, a function pointer to the command implementation, and a
 setup option flag. For now, let's keep mimicking `push`. Find the line where
 `cmd_push` is registered, copy it, and modify it for `cmd_psuh`, placing the new
 line in alphabetical order (immediately before `cmd_pull`).
+----
+{ "psuh", cmd_psuh, RUN_SETUP}
+----
 
 The options are documented in `builtin.h` under "Adding a new built-in." Since
 we hope to print some data about the user's current workspace context later,
@@ -285,6 +292,8 @@ Modify your `cmd_psuh` implementation to dump the args you're passed, keeping
 existing `printf()` calls in place:
 
 ----
+int cmd_psuh(int argc, const char **argv, const char *prefix, struct repository *repo UNUSED)
+{
 	int i;
 
 	...
@@ -298,7 +307,8 @@ existing `printf()` calls in place:
 
 	printf(_("Your current working directory:\n<top-level>%s%s\n"),
 	       prefix ? "/" : "", prefix ? prefix : "");
-
+	...
+}
 ----
 
 Build and try it. As you may expect, there's pretty much just whatever we give
-- 
2.48.1
Previous: K JayatheerthNext: K Jayatheerth
Message 2 of 21 in “Remove outdated mentoring mailing list reference and clarify tutorial prerequisites”
  1. K JayatheerthMar 15, 2025
  2. [GSOC][PATCH 2/3] Update function signature and UNUSED to include struct repository and modify builtin.h accordinglyK Jayatheerth, Mar 15, 2025
  3. [GSOC][PATCH 3/3] Replace git_config(...) with repo_config(...) for modern Git compatibilityK Jayatheerth, Mar 15, 2025
  4. JAYATHEERTH KMar 15, 2025
  5. Junio C HamanoMar 17, 2025
  6. [GSOC][PATCH v2] Remove outdated mentoring mailing list referenceK Jayatheerth, Mar 19, 2025
  7. Junio C HamanoMar 21, 2025
  8. [[GSOC][PATCH v3] 1/3] docs: drop inactive mentoring list, add C prereqK Jayatheerth, Mar 21, 2025
  9. [[GSOC][PATCH v3] 2/3] docs: update function signature, add UNUSED macroK Jayatheerth, Mar 21, 2025
  10. Junio C HamanoMar 23, 2025
  11. [[GSOC][PATCH v3] 3/3] docs: replace git_config with repo_configK Jayatheerth, Mar 21, 2025
  12. Junio C HamanoMar 23, 2025
  13. JAYATHEERTH KMar 24, 2025
  14. Junio C HamanoMar 24, 2025
  15. [[GSOC][PATCH v4] 2/3] docs: update function signature, add UNUSED macroK Jayatheerth, Mar 24, 2025
  16. [[GSOC][PATCH v4] 3/3] docs: replace git_config with repo_configK Jayatheerth, Mar 24, 2025
  17. JAYATHEERTH KMar 24, 2025
  18. Junio C HamanoMar 26, 2025
  19. JAYATHEERTH KMar 26, 2025
  20. JAYATHEERTH KMar 29, 2025
  21. JAYATHEERTH KMar 21, 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.