From: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>
To: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Cc: Shourya Shukla <shouryashukla.oo@gmail.com>,
christian.couder@gmail.com, git@vger.kernel.org,
gitster@pobox.com, liu.denton@gmail.com, sunshine@sunshineco.com,
Johannes.Schindelin@gmx.de,
Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [PATCH v4] submodule: port subcommand 'set-branch' from shell to C
Date: Sun, 24 May 2020 06:18:38 +0700 [thread overview]
Message-ID: <20200523231838.GB1981@danh.dev> (raw)
In-Reply-To: <33127873-fb19-2bd5-3028-bcd1757e92e5@gmail.com>
Hi Kaartic,
On 2020-05-24 00:19:38+0530, Kaartic Sivaraam <kaartic.sivaraam@gmail.com> wrote:
> I believe you missed Danh's v3 comments[1]. I'm mentioning them inline with
> some additional comments.
Thanks for checking this.
> On 23-05-2020 22:09, Shourya Shukla wrote:
> >
> > diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
> > index f50745a03f..7e844e8971 100644
> > --- a/builtin/submodule--helper.c
> > +++ b/builtin/submodule--helper.c
> > @@ -2284,6 +2284,50 @@ static int module_set_url(int argc, const char **argv, const char *prefix)
> > return 0;
> > }
> > +static int module_set_branch(int argc, const char **argv, const char *prefix)
> > +{
> > + /*
> > + * We accept the `quiet` option for uniformity across subcommands,
> > + * though there is nothing to make less verbose in this subcommand.
> > + */
> > + int quiet = 0, opt_default = 0, ret;
> > + const char *opt_branch = NULL;
> > + const char *path;
> > + char *config_name;
> > +
> > + struct option options[] = {
> > + OPT__QUIET(&quiet,
> > + N_("suppress output for setting default tracking branch")),
>
> As '--quiet' in 'set-branch' is a no-op and is being accepted only for
> uniformity, I think it makes sense to use OPT_NOOP_NOARG instead of
> OPT__QUIET for specifying it, as suggested by Danh.
Yay, I still think it's better to use OPT_NOOP_NOARG, (and with shortopt q,
which I forgot in previous reply.)
OPT_NOOP_NOARG('q', "quiet")
> Also, the description "suppress output for setting default tracking branch"
> doesn't seem to be valid anymore as we don't print anything when set-branch
> succeeds.
OPT_NOOP_NOARG will take care of description itself. Even if we choose
to not use OPT_NOOP_NOARG, a better description should be provided.
> > + OPT_BOOL(0, "default", &opt_default,
> > + N_("set the default tracking branch to master")),
> > + OPT_STRING(0, "branch", &opt_branch, N_("branch"),
> > + N_("set the default tracking branch")),
> > + OPT_END()
> > + };
> > + const char *const usage[] = {
> > + N_("git submodule--helper set-branch [--quiet] (-d|--default) <path>"),
> > + N_("git submodule--helper set-branch [--quiet] (-b|--branch) <branch> <path>"),
> > + NULL
> > + };
> > +
>
> I also agree with the Danh here that '--quiet' could be removed from usage.
> There's no point in mentioning '--quiet' in the usage when it has no effect.
>
> > diff --git a/git-submodule.sh b/git-submodule.sh
> > index 39ebdf25b5..8c56191f77 100755
> > --- a/git-submodule.sh
> > +++ b/git-submodule.sh
> > @@ -750,33 +750,7 @@ cmd_set_branch() {
> > shift
> > done
> > - if test $# -ne 1
> > - then
> > - usage
> > - fi
> > -
> > - # we can't use `git submodule--helper name` here because internally, it
> > - # hashes the path so a trailing slash could lead to an unintentional no match
> > - name="$(git submodule--helper list "$1" | cut -f2)"
> > - if test -z "$name"
> > - then
> > - exit 1
> > - fi
> > -
> > - test -n "$branch"; has_branch=$?
> > - test "$unset_branch" = true; has_unset_branch=$?
> > -
> > - if test $((!$has_branch != !$has_unset_branch)) -eq 0
> > - then
> > - usage
> > - fi
> > -
> > - if test $has_branch -eq 0
> > - then
> > - git submodule--helper config submodule."$name".branch "$branch"
> > - else
> > - git submodule--helper config --unset submodule."$name".branch
> > - fi
> > + git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper set-branch ${GIT_QUIET:+--quiet} ${branch:+--branch $branch} ${default:+--default} -- "$@"
> > }
> >
>
> Danh questioned whether '$branch' needs to be quoted here. I too think it
> needs to be quoted unless I'm missing something.
>
>
> ---
> Footnotes:
> [1]: https://lore.kernel.org/git/nycvar.QRO.7.76.6.2005230012090.56@tvgsbejvaqbjf.bet/T/#maf26182b084087ed08a2a72d3da2ee2026b1618e
For the better record, I think it's better to use a permenent link,
just in case lore.kernel.org go into the dust someday,
people can still have a reference if they have an archive.
https://lore.kernel.org/git/20200521230453.GB2042@danh.dev/
--
Danh
next prev parent reply other threads:[~2020-05-23 23:18 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-21 16:38 [PATCH v3] submodule: port subcommand 'set-branch' from shell to C Shourya Shukla
2020-05-21 18:44 ` Junio C Hamano
2020-05-21 19:03 ` Denton Liu
2020-05-21 19:50 ` Junio C Hamano
2020-05-22 19:39 ` Shourya Shukla
2020-05-24 16:07 ` Junio C Hamano
2020-05-21 23:04 ` Đoàn Trần Công Danh
2020-05-22 22:21 ` Johannes Schindelin
2020-05-24 23:15 ` Junio C Hamano
2020-05-24 23:18 ` Junio C Hamano
2020-05-23 16:39 ` [PATCH v4] " Shourya Shukla
2020-05-23 18:49 ` Kaartic Sivaraam
2020-05-23 23:18 ` Đoàn Trần Công Danh [this message]
2020-05-27 17:13 ` Shourya Shukla
2020-05-28 12:21 ` Đoàn Trần Công Danh
2020-05-28 14:01 ` Đoàn Trần Công Danh
2020-05-28 15:55 ` Đoàn Trần Công Danh
2020-06-02 16:35 ` [GSoC][PATCH v5] " Shourya Shukla
2020-06-02 17:58 ` Junio C Hamano
2020-06-03 0:12 ` Đoàn Trần Công Danh
2020-06-03 20:02 ` Junio C Hamano
2020-06-04 7:17 ` Shourya Shukla
2020-06-04 7:49 ` Christian Couder
2020-06-04 15:03 ` Junio C Hamano
2020-06-02 19:01 ` Kaartic Sivaraam
2020-06-02 19:10 ` Kaartic Sivaraam
2020-06-02 19:45 ` Christian Couder
2020-06-04 7:09 ` Shourya Shukla
2020-06-04 19:26 ` Kaartic Sivaraam
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=20200523231838.GB1981@danh.dev \
--to=congdanhqx@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=chriscool@tuxfamily.org \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kaartic.sivaraam@gmail.com \
--cc=liu.denton@gmail.com \
--cc=shouryashukla.oo@gmail.com \
--cc=sunshine@sunshineco.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.