From: Junio C Hamano <gitster@pobox.com>
To: K Jayatheerth <jayatheerthkulkarni2005@gmail.com>
Cc: git@vger.kernel.org, ben.knoble@gmail.com
Subject: Re: [[GSOC][PATCH v3] 2/3] docs: update function signature, add UNUSED macro
Date: Sun, 23 Mar 2025 15:08:08 -0700 [thread overview]
Message-ID: <xmqqcye7qu2f.fsf@gitster.g> (raw)
In-Reply-To: <20250321143022.5406-2-jayatheerthkulkarni2005@gmail.com> (K. Jayatheerth's message of "Fri, 21 Mar 2025 20:00:21 +0530")
K Jayatheerth <jayatheerthkulkarni2005@gmail.com> writes:
> Modify function signatures to include struct repository
> for better compatibility. Also update builtin.h
> accordingly and use UNUSED to prevent warnings.
You want to be a bit stronger than "better compatibility" here
(besides, it is unclear what you are trying to be compatible).
Since 9b1cb507 (builtin: add a repository parameter for builtin
functions, 2024-09-13), a built-in implementation like cmd_psuh
is called with a pointer to a "struct repository"; adjust the
examples to match the current practice.
or something, perhaps?
> 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 7b856be41e..45efe117ab 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
next prev parent reply other threads:[~2025-03-23 22:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-15 18:15 [GSOC][PATCH 1/3] Remove outdated mentoring mailing list reference and clarify tutorial prerequisites K Jayatheerth
2025-03-15 18:15 ` [GSOC][PATCH 2/3] Update function signature and UNUSED to include struct repository and modify builtin.h accordingly K Jayatheerth
2025-03-15 18:15 ` [GSOC][PATCH 3/3] Replace git_config(...) with repo_config(...) for modern Git compatibility K Jayatheerth
2025-03-15 18:21 ` JAYATHEERTH K
2025-03-17 21:57 ` [GSOC][PATCH 1/3] Remove outdated mentoring mailing list reference and clarify tutorial prerequisites Junio C Hamano
2025-03-19 17:02 ` [GSOC][PATCH v2] Remove outdated mentoring mailing list reference K Jayatheerth
2025-03-21 10:36 ` Junio C Hamano
2025-03-21 14:30 ` [[GSOC][PATCH v3] 1/3] docs: drop inactive mentoring list, add C prereq K Jayatheerth
2025-03-21 14:30 ` [[GSOC][PATCH v3] 2/3] docs: update function signature, add UNUSED macro K Jayatheerth
2025-03-23 22:08 ` Junio C Hamano [this message]
2025-03-21 14:30 ` [[GSOC][PATCH v3] 3/3] docs: replace git_config with repo_config K Jayatheerth
2025-03-23 22:08 ` Junio C Hamano
2025-03-24 1:42 ` JAYATHEERTH K
2025-03-24 4:46 ` Junio C Hamano
2025-03-24 13:03 ` [[GSOC][PATCH v4] 2/3] docs: update function signature, add UNUSED macro K Jayatheerth
2025-03-24 13:03 ` [[GSOC][PATCH v4] 3/3] docs: replace git_config with repo_config K Jayatheerth
2025-03-24 13:10 ` [[GSOC][PATCH v3] " JAYATHEERTH K
2025-03-26 2:37 ` Junio C Hamano
2025-03-26 3:15 ` JAYATHEERTH K
2025-03-29 17:42 ` JAYATHEERTH K
2025-03-21 14:32 ` [GSOC][PATCH v2] Remove outdated mentoring mailing list reference JAYATHEERTH K
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqcye7qu2f.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=ben.knoble@gmail.com \
--cc=git@vger.kernel.org \
--cc=jayatheerthkulkarni2005@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.