From: Junio C Hamano <gitster@pobox.com>
To: Shourya Shukla <shouryashukla.oo@gmail.com>
Cc: git@vger.kernel.org, christian.couder@gmail.com,
kaartic.sivaraam@gmail.com, liu.denton@gmail.com
Subject: Re: [PATCH v4] submodule: port subcommand 'set-url' from shell to C
Date: Wed, 06 May 2020 10:12:43 -0700 [thread overview]
Message-ID: <xmqqtv0t6l84.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <20200506073717.9789-1-shouryashukla.oo@gmail.com> (Shourya Shukla's message of "Wed, 6 May 2020 13:07:17 +0530")
Shourya Shukla <shouryashukla.oo@gmail.com> writes:
> Convert submodule subcommand 'set-url' to a builtin. Port 'set-url'to
> 'submodule--helper.c' and call the latter via 'git-submodule.sh'.
>
> Signed-off-by: Shourya Shukla <shouryashukla.oo@gmail.com>
> ---
> Thank you Junio for the review! :)
> BTW, how detailed should the commit message be about the
> patch?
>
> builtin/submodule--helper.c | 39 +++++++++++++++++++++++++++++++++++++
> git-submodule.sh | 22 +--------------------
> 2 files changed, 40 insertions(+), 21 deletions(-)
>
> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> index 1a4b391c88..f50745a03f 100644
> --- a/builtin/submodule--helper.c
> +++ b/builtin/submodule--helper.c
> @@ -2246,6 +2246,44 @@ static int module_config(int argc, const char **argv, const char *prefix)
> usage_with_options(git_submodule_helper_usage, module_config_options);
> }
>
> +static int module_set_url(int argc, const char **argv, const char *prefix)
> +{
> + int quiet = 0;
> + const char *newurl;
> + const char *path;
> + struct strbuf config_name = STRBUF_INIT;
> +
> + struct option set_url_options[] = {
> + OPT__QUIET(&quiet, N_("Suppress output for setting url of a submodule")),
> + OPT_END()
> + };
> +
> + const char *const usage[] = {
> + N_("git submodule--helper set-url [--quiet] <path> <newurl>"),
> + NULL
> + };
Hmph, do we really want all the blank lines in the above?
There is only one "struct option" the code in this function needs to
be aware of and worried about. Isn't naming it set_url_options[]
overly redundant? Calling it just options[] would save lines here ;-)
> + argc = parse_options(argc, argv, prefix, set_url_options,
> + usage, 0);
argc = parse_options(argc, argv, prefix, options, usage, 0);
> + if (argc!=2) {
Style. SP around all binary operators like !=, i.e.
if (argc != 2) {
By the way, looking at print_default_remote() that takes no
arguments wants argc to be 1, and resolve_relative_url() that takes
only one or two arguments checks for 2 or 3, shouldn't this be
checking if argc is 3, not 2?
I thought I pointed it out in my very first review of this series.
... tries to go back and check, notices that this v4 is not
... a reply to v3 or earlier and feels somewhat irritated.
... then finally finds the following in the v2 review.
> Taking all these together,
>
> if (argc != 3) {
> usage_with_options(usage, options);
> return 1;
> }
> path = argv[0];
> newurl = argv[1];
>
> If you feel paranoid, you can check these two are not NULL, too,
> i.e.
>
> if (argc != 3 || !(path = argv[0]) || !(newurl = argv[1])) {
> usage_with_options(usage, options);
> return 1;
> }
>
> I have no strong preference either way. Perhaps the latter is more
> concise and more careful at the same time, so some people may prefer
> it.
Thanks.
next prev parent reply other threads:[~2020-05-06 17:12 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-06 7:37 [PATCH v4] submodule: port subcommand 'set-url' from shell to C Shourya Shukla
2020-05-06 8:09 ` Christian Couder
2020-05-06 16:31 ` Shourya Shukla
2020-05-06 17:16 ` Junio C Hamano
2020-05-06 17:12 ` Junio C Hamano [this message]
2020-05-06 18:12 ` Shourya Shukla
2020-05-06 18:22 ` Junio C Hamano
2020-05-07 4:40 ` Shourya Shukla
2020-05-07 5:08 ` Junio C Hamano
2020-05-08 5:47 ` Shourya Shukla
2020-05-08 6:18 ` Christian Couder
2020-05-08 15:18 ` Re* " Junio C Hamano
2020-05-08 15:38 ` Eric Sunshine
2020-05-08 15:57 ` Junio C Hamano
2020-05-08 16:13 ` Eric Sunshine
2020-05-08 16:38 ` Junio C Hamano
2020-05-08 17:51 ` Eric Sunshine
2020-05-08 6:21 ` [PATCH v5] " Shourya Shukla
2020-05-08 6:30 ` Denton Liu
2020-05-08 16:13 ` Junio C Hamano
2020-05-08 16:17 ` Junio C Hamano
2020-05-08 16:18 ` [PATCH v6] " Junio C Hamano
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=xmqqtv0t6l84.fsf@gitster.c.googlers.com \
--to=gitster@pobox.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=kaartic.sivaraam@gmail.com \
--cc=liu.denton@gmail.com \
--cc=shouryashukla.oo@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).