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

Re: [PATCHv3 6/7] submodule--helper: add remote-branch helper

From
Jeff King <peff@peff.net>
Date
Aug 3, 2016, 20:15 UTC
Message-ID
<20160803201544.7sljaikzwws7rekv@sigill.intra.peff.net>
In-Reply-To
<CAGZ79kYW0dwUh=QpKL9W+cv8k_Z9Vc2wxoLMqud5brDtS9DYpA@mail.gmail.com>
On Wed, Aug 03, 2016 at 01:11:51PM -0700, Stefan Beller wrote:
Show 17 quoted lines
> > Coverity complains about "sub" being NULL here, and indeed, it seems
> > like an easy segfault:
> >
> >   $ ./git submodule--helper remote-branch foo
> >   Segmentation fault
> >
> > I guess this should return NULL in that case. But then this...
> 
> I thought about checking for (!sub && !sub->branch) to return "master";
> However I disregarded that implementation as the submodule-config is
> reliable for any correct input. Though we need to handle wrong input as
> well. So how about:
> 
>   if (!sub)
>     die(_("A submodule doesn't exist at path %s"), path);
>   if (!sub->branch)
>     return "master";

OK by me, as long as the caller of submodule--helper handles the death reasonably. Since it's an internal helper program, we really only have to worry about what git-submodule.sh does with it, which is good.

Show 11 quoted lines
> > would need to handle the NULL return, as well. So maybe "master" or the
> > empty string would be better. I haven't followed the topic closely
> > enough to have an opinion.
> 
> Oh I see, this can turn into a discussion what the API for
> remote_submodule_branch is. I think handling the NULL here and dying makes
> more sense as then we can keep remote_submodule_branch pure to its
> intended use case. (If in the far future we have all the submodule stuff in C,
> we may want to call remote_submodule_branch when we already know
> that the path is valid, so no need to check it in there. Also not dying in there
> is more libified.)
Yep, that makes sense to me, too.
-Peff
Previous: Stefan BellerNext: Junio C Hamano
Message 11 of 12 in “[PATCHv3 0/7] submodule update: allow '.' for branch value”
  1. Stefan BellerJul 29, 2016
  2. 1/7 t7406: future proof tests with hard coded depthStefan Beller, Jul 29, 2016
  3. 2/7 submodule update: respect depth in subsequent fetchesStefan Beller, Jul 29, 2016
  4. 4/7 submodule--helper: fix usage string for relative-pathStefan Beller, Jul 29, 2016
  5. 5/7 submodule-config: keep configured branch aroundStefan Beller, Jul 29, 2016
  6. 3/7 submodule update: narrow scope of local variableStefan Beller, Jul 29, 2016
  7. 7/7 submodule update: allow '.' for branch valueStefan Beller, Jul 29, 2016
  8. 6/7 submodule--helper: add remote-branch helperStefan Beller, Jul 29, 2016
  9. Jeff KingAug 3, 2016
  10. Stefan BellerAug 3, 2016
  11. Jeff KingAug 3, 2016
  12. Junio C HamanoAug 1, 2016

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.