From: Brandon Williams <bmwill@google.com>
To: Stefan Beller <sbeller@google.com>
Cc: Prathamesh Chavan <pc44800@gmail.com>,
"git@vger.kernel.org" <git@vger.kernel.org>,
Christian Couder <christian.couder@gmail.com>,
Jeff King <peff@peff.net>,
Ramsay Jones <ramsay@ramsayjones.plus.com>
Subject: Re: [GSoC][PATCH v4 2/2] submodule: port subcommand foreach from shell to C
Date: Tue, 23 May 2017 14:05:25 -0700 [thread overview]
Message-ID: <20170523210525.GH115919@google.com> (raw)
In-Reply-To: <CAGZ79kYPUO34YUVR_u4sRuYz+Geo=wxwNEfCnyx+NQWQCQTkaQ@mail.gmail.com>
On 05/23, Stefan Beller wrote:
> On Tue, May 23, 2017 at 12:36 PM, Brandon Williams <bmwill@google.com> wrote:
> >
> > You can set .git_cmd = 1 instead.
> >
> >> + cpr.dir = list_item->name;
> >> + prepare_submodule_repo_env(&cpr.env_array);
> >> +
> >> + argv_array_pushl(&cpr.args, "git", "--super-prefix", displaypath,
> >
> > And then you don't need to include "git" here.
>
> even if git_cmd = 1 is set, you'd need a first dummy argument?
> cf. find_unpushed_submodules, See comment in 9cfa1c260f
> (serialize collection of refs that contain submodule changes, 2016-11-16)
Different subsystem, you don't need a dummy first argument. The
revision walking code does (for some reason) need a dummy first
argument.
>
> >> +
> >> + info.argc = argc;
> >> + info.argv = argv;
> >> + info.prefix = prefix;
> >> + info.quiet = !!quiet;
> >> + info.recursive = !!recursive;
> >
> > If these values are boolean why do we need to do the extra '!!'?
>
> Actually that was my advice. As we only have a limited space in a single
> bit, strange things happen when you were to do:
>
> quiet = 2; /* be extra quiet */
> info.quiet = quiet;
>
> This is not the case here, but other commands have evolved over time
> to first take a OPT_BOOL, and then in a later patch an OPT_INT.
> (some commands take a "-v -v -v")
>
> And by having the double negative we'd have some defensive programming
> right here. (To prove I am not telling crazy stories, $ git log -S \!\!)
All good, I didn't notice that they were bit fields.
--
Brandon Williams
next prev parent reply other threads:[~2017-05-23 21:05 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-19 17:05 [GSoC][RFC/PATCH] submodule: port subcommand foreach from shell to C Prathamesh Chavan
2017-04-19 18:08 ` Stefan Beller
2017-04-22 19:58 ` [GSoC][RFC/PATCH v2] " Prathamesh Chavan
2017-04-24 2:24 ` Junio C Hamano
2017-04-24 20:03 ` Stefan Beller
2017-04-24 22:11 ` Ramsay Jones
2017-04-24 22:17 ` Stefan Beller
2017-04-24 22:43 ` Ramsay Jones
2017-05-12 11:44 ` [GSoC][RFC/PATCH v3 1/2] t7407: test "submodule foreach --recursive" from subdirectory added Prathamesh Chavan
2017-05-12 11:44 ` [GSoC][RFC/PATCH v3 2/2] submodule: port subcommand foreach from shell to C Prathamesh Chavan
2017-05-15 17:22 ` Stefan Beller
2017-05-15 18:34 ` Brandon Williams
2017-05-21 12:58 ` [GSoC][PATCH v4 1/2] t7407: test "submodule foreach --recursive" from subdirectory added Prathamesh Chavan
2017-05-21 12:58 ` [GSoC][PATCH v4 2/2] submodule: port subcommand foreach from shell to C Prathamesh Chavan
2017-05-22 20:04 ` Stefan Beller
2017-05-23 19:09 ` Brandon Williams
2017-05-23 19:36 ` Brandon Williams
2017-05-23 20:57 ` Stefan Beller
2017-05-23 21:05 ` Brandon Williams [this message]
2017-05-26 15:17 ` [GSoC][PATCH v5 1/3] submodule: fix buggy $path and $sm_path variable's value Prathamesh Chavan
2017-05-26 15:17 ` [GSoC][PATCH v5 2/3] t7407: test "submodule foreach --recursive" from subdirectory added Prathamesh Chavan
2017-05-26 16:19 ` Stefan Beller
2017-05-26 16:33 ` Brandon Williams
2017-05-26 15:17 ` [GSoC][PATCH v5 3/3] submodule: port subcommand foreach from shell to C Prathamesh Chavan
2017-05-26 16:14 ` Stefan Beller
2017-05-26 16:44 ` Brandon Williams
2017-05-26 21:54 ` Johannes Sixt
2017-05-26 22:03 ` Brandon Williams
2017-05-27 1:20 ` Ramsay Jones
2017-05-27 14:06 ` Ramsay Jones
2017-05-27 21:24 ` Johannes Sixt
2017-05-26 16:31 ` [GSoC][PATCH v5 1/3] submodule: fix buggy $path and $sm_path variable's value Ramsay Jones
2017-05-26 17:07 ` Stefan Beller
2017-05-27 1:10 ` Ramsay Jones
2017-05-30 21:53 ` Stefan Beller
2017-05-30 23:07 ` Ramsay Jones
2017-05-30 23:29 ` Stefan Beller
2017-05-31 0:13 ` Ramsay Jones
2017-05-31 0:48 ` Ramsay Jones
2017-06-02 11:24 ` [GSoC][PATCH v6 1/2] " Prathamesh Chavan
2017-06-02 11:24 ` [GSoC][PATCH v6 2/2] submodule: port subcommand foreach from shell to C Prathamesh Chavan
2017-06-03 2:13 ` Stefan Beller
2017-06-04 10:32 ` Prathamesh Chavan
2017-05-23 19:06 ` [GSoC][PATCH v4 1/2] t7407: test "submodule foreach --recursive" from subdirectory added Brandon Williams
2017-06-03 0:37 ` [PATCH] submodule foreach: correct $sm_path in nested submodules from a dir Stefan Beller
2017-06-03 14:07 ` Ramsay Jones
2017-06-04 15:05 ` Ramsay Jones
2017-06-05 22:20 ` Jonathan Nieder
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=20170523210525.GH115919@google.com \
--to=bmwill@google.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=pc44800@gmail.com \
--cc=peff@peff.net \
--cc=ramsay@ramsayjones.plus.com \
--cc=sbeller@google.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.