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

[PATCH v2 2/3] docs: clarify cmd_psuh signature and explain UNUSED macro

From
K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
Date
May 16, 2025, 18:55 UTC
Message-ID
<20250516185516.52311-2-jayatheerthkulkarni2005@gmail.com>
In-Reply-To
<20250516185516.52311-1-jayatheerthkulkarni2005@gmail.com>

The documentation previously omitted the UNUSED macro, which often led to confusion for new contributors when they encountered compiler warnings related to unused parameters. This commit adds a brief explanation to help clarify its purpose and common usage in the Git codebase.

Additionally, the function signature for cmd_psuh has been updated to include the struct repository *repo argument, aligning it with the standard pattern for built-in commands.

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 ef190d8748..f4320d8869 100644
--- a/Documentation/MyFirstContribution.adoc
+++ b/Documentation/MyFirstContribution.adoc
@@ -142,7 +142,15 @@ 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)
+----
+
+We will use the UNUSED macro to make sure we don't recieve compiler warnings
+for unused arguments from the function cmd_psuh.
+
+----
+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
@@ -150,7 +158,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
@@ -166,7 +174,8 @@ 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;
@@ -279,8 +288,9 @@ on the reference implementation linked at the top of this document.
 It's probably useful to do at least something besides printing out a string.
 Let's start by having a look at everything we get.
 
-Modify your `cmd_psuh` implementation to dump the args you're passed, keeping
-existing `printf()` calls in place:
+Modify your `cmd_psuh` implementation to dump the args you're passed,
+keeping existing `printf()` calls in place; because the args are now
+used, remove the `UNUSED` macro from them:
 
 ----
 	int i;
-- 
2.49.GIT
Previous: K JayatheerthNext: Junio C Hamano
Message 8 of 37 in “update MyFirstContribution with current code base”
  1. 0/4 update MyFirstContribution with current code baseK Jayatheerth, Apr 16, 2025
  2. 1/4 Remove unused git-mentoring mailing listK Jayatheerth, Apr 16, 2025
  3. 2/4 Docs: Correct cmd_psuh and Explain UNUSED macroK Jayatheerth, Apr 16, 2025
  4. Emily ShafferMay 16, 2025
  5. 3/4 Docs: Add cmd_psuh with repo and UNUSED removalK Jayatheerth, Apr 16, 2025
  6. Emily ShafferMay 16, 2025
  7. 1/3 docs: remove unused mentoring mailing list referenceK Jayatheerth, May 16, 2025
  8. 2/3 docs: clarify cmd_psuh signature and explain UNUSED macroK Jayatheerth, May 16, 2025
  9. Junio C HamanoMay 17, 2025
  10. Junio C HamanoMay 17, 2025
  11. 0/3 Update MyFirstContribution.adoc to follow modern practicesK Jayatheerth, May 18, 2025
  12. 1/3 docs: remove unused mentoring mailing list referenceK Jayatheerth, May 18, 2025
  13. 2/3 docs: clarify cmd_psuh signature and explain UNUSED macroK Jayatheerth, May 18, 2025
  14. 3/3 docs: replace git_config to repo_configK Jayatheerth, May 18, 2025
  15. JAYATHEERTH KMay 18, 2025
  16. 3/3 docs: replace git_config to repo_configK Jayatheerth, May 16, 2025
  17. Junio C HamanoMay 17, 2025
  18. Emily ShafferMay 16, 2025
  19. Junio C HamanoMay 17, 2025
  20. 0/3 Update MyFirstContribution.adoc to follow modern practicesK Jayatheerth, May 17, 2025
  21. 1/3 docs: remove unused mentoring mailing list referenceK Jayatheerth, May 17, 2025
  22. 2/3 docs: clarify cmd_psuh signature and explain UNUSED macroK Jayatheerth, May 17, 2025
  23. 3/3 docs: replace git_config to repo_configK Jayatheerth, May 17, 2025
  24. 4/4 cmd_psuh: Prefer repo_config for config lookupK Jayatheerth, Apr 16, 2025
  25. Emily ShafferMay 16, 2025
  26. JAYATHEERTH KMay 16, 2025
  27. Junio C HamanoApr 16, 2025
  28. JAYATHEERTH KApr 16, 2025
  29. JAYATHEERTH KMay 13, 2025
  30. Junio C HamanoMay 14, 2025
  31. JAYATHEERTH KMay 14, 2025
  32. Emily ShafferMay 15, 2025
  33. JAYATHEERTH KMay 16, 2025
  34. Junio C HamanoMay 16, 2025
  35. JAYATHEERTH KMay 16, 2025
  36. D. Ben KnobleMay 20, 2025
  37. Junio C HamanoMay 17, 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.