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

Re: [PATCH 4/6] submodule--helper update-clone: allow multiple references

From
Stefan Beller <sbeller@google.com>
Date
Aug 5, 2016, 21:19 UTC
Message-ID
<CAGZ79kbTcHN+18z+eXx+QDOCXL9vKeGYKukQJJ+ZnxT55_8htg@mail.gmail.com>
In-Reply-To
<xmqq60rfvsbq.fsf@gitster.mtv.corp.google.com>
On Fri, Aug 5, 2016 at 2:06 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 14 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>>> -               ${reference:+--reference "$reference"} \
>>> +               ${reference:+"$reference"} \
>>
>> Note how this changed the API of the submodule--helper.
>> Currently we pass in --reference $reference
>> and $reference consists of the string "--reference" and the actual
>> reference. So it looked like '--reference' '--reference=foo'
>
> So this change is a strict bugfix.  The code without this patch
> had cmd_update that places "--reference=foo" in $reference, but
> the call to "git submodule--helper" it makes added an unnecessary
> "--reference" in front of it.

I thought about rolling it as a strict bugfix; but the bug is shaded by the inverse bug in the helper, so the user would never see an issue.

It is more a cleanup of the internal communication between the shell script and the helper written in C. (And that communication is supposed to not be user visible or relevant)

>
> I was wondering why there is no corresponding change to add
> "--reference" on the code that calls cmd_update().  Thanks for
> saving my time ;-)

When I wrote the patch I cared more about the while-at-it part than the bug fix as I do not consider the bug worth to merge down to maint or even fast tracking it as a bug fix. It's just changing the internal communication to be clearer.

Show 22 quoted lines
>
> Perhaps that needs to go into the log message, though.  Allowing
> multiple references is not that interesting from the POV of the
> codebase immediately after this step and only deserves a "by the
> way" mention.
>
>     Subject: submodule--helper: fix cmd_update()
>
>     cmd_update places "--reference=foo" in $reference, but the call to
>     "git submodule--helper" it makes adds an unnecessary "--reference"
>     in front of it.  The underlying "git clone" was called with two
>     command options "--reference" and "--reference=foo" because of
>     this.
>
>     While at it, prepare the code to accept multiple references, as
>     the underlying "git clone" can happily take more than one.
>
> or something like that.
>
> Needless to say, "While at it" could become a separate step, and a
> pure bugfix part may even want to become a separate and more urgent
> topic that can go to 'maint', with a test to prevent regression.
Sure. I'll do so in a reroll.
Previous: Junio C HamanoNext: Junio C Hamano
Message 9 of 25 in “git clone: Marry --recursive and --reference”
  1. 0/6 git clone: Marry --recursive and --referenceStefan Beller, Aug 4, 2016
  2. 2/6 t7408: merge short tests, factor out testing methodStefan Beller, Aug 4, 2016
  3. Junio C HamanoAug 5, 2016
  4. Stefan BellerAug 5, 2016
  5. Junio C HamanoAug 5, 2016
  6. 4/6 submodule--helper update-clone: allow multiple referencesStefan Beller, Aug 4, 2016
  7. Stefan BellerAug 5, 2016
  8. Junio C HamanoAug 5, 2016
  9. Stefan BellerAug 5, 2016
  10. Junio C HamanoAug 5, 2016
  11. Stefan BellerAug 5, 2016
  12. 5/6 submodule update: add super-reference flagStefan Beller, Aug 4, 2016
  13. Junio C HamanoAug 5, 2016
  14. Stefan BellerAug 6, 2016
  15. 1/6 t7408: modernize styleStefan Beller, Aug 4, 2016
  16. Junio C HamanoAug 5, 2016
  17. 3/6 submodule--helper module-clone: allow multiple referencesStefan Beller, Aug 4, 2016
  18. Junio C HamanoAug 5, 2016
  19. 6/6 clone: reference flag is used for submodules as wellStefan Beller, Aug 4, 2016
  20. Junio C HamanoAug 5, 2016
  21. Junio C HamanoAug 5, 2016
  22. Stefan BellerAug 5, 2016
  23. Junio C HamanoAug 5, 2016
  24. Rename detection within in files WAS: [PATCH 2/6] t7408: merge short tests, factor out testing methodStefan Beller, Aug 5, 2016
  25. René ScharfeAug 7, 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.