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

Re: [PATCH] git-remote-testgit: avoid process substitution

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 25, 2013, 20:31 UTC
Message-ID
<CAMP44s0O04OZjPPzW2=5nSHWyWNECm3L5qVZWyFdWK=dzaKA7A@mail.gmail.com>
In-Reply-To
<7vsj2e2x5d.fsf@alter.siamese.dyndns.org>
On Thu, Apr 25, 2013 at 3:06 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 38 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> On Thu, Apr 25, 2013 at 1:25 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Felipe Contreras <felipe.contreras@gmail.com> writes:
>>>
>>>>>> ...
>>>>>> +             git for-each-ref --format='%(refname) %(objectname)' |
>>>>>> +             while read ref a
>>>>>>               do
>>>>>> -                     test $a == $b && continue
>>>>>> +                     case "$before" in
>>>>>> +                     *"$ref $a"*)
>>>>>> +                             continue
>>>>>
>>>> I wonder if we should bother with this at all. The purpose of the code
>>>> was mainly to show to users that they should report the success only
>>>> if the refs have been updated, but the code is becoming more
>>>> obfuscated, a comment should do the trick. And then, we can just
>>>> report success for all the refs (and explain in the comment why).
>>>
>>> Are you proposing to say "ok $ref" to everything we see in the
>>> resulting repository, even the ones the caller of remote-testgit did
>>> not ask us to do anything with?
>>>
>>> Wouldn't the caller be surprised if we did so?
>>
>> Why would it?  The only effective difference is what you'll see
>> reported in the UI, but there's no user here.
>
> You are correct that it affects only the UI, but isn't that because
> the current implementation of push_update_refs_status() blindly
> accepts whatever 'ok' response says without checking the ref
> mentioned against what it tried to push out?  I was wondering if
> that codepath should stay that way forever, or if we may want add
> sanity checks later.  If the latter, I suspect this would manifest
> as an ancient bug to say 'ok' for everything we have instead of what
> we actually pushed out (of course, the explanation in the comment
> would help).
Actually, I think the code already checks for that.
> So I am OK with that simpler approach.  Care to roll the conclusion
> of your idea into a patch?
Will do.
> By the way, I noticed that Documentation/gitremote-helpers.txt does
> not even mention these 'ok' responses for 'export' command, but they
> should be the same as responses to 'push'. Perhaps we can share some
> text between the two?
Indeed, it's the same code for both.
-- 
Felipe Contreras
Previous: Junio C HamanoNext: Felipe Contreras
Message 12 of 22 in “What's cooking in git.git (Apr 2013, #07; Mon, 22)”
  1. Junio C HamanoApr 22, 2013
  2. What's cooking in git.git (Apr 2013, #08; Tue, 23)Junio C Hamano, Apr 23, 2013
  3. Johannes SixtApr 24, 2013
  4. Felipe ContrerasApr 24, 2013
  5. Johannes SixtApr 24, 2013
  6. git-remote-testgit: avoid process substitutionJohannes Sixt, Apr 25, 2013
  7. Junio C HamanoApr 25, 2013
  8. Felipe ContrerasApr 25, 2013
  9. Junio C HamanoApr 25, 2013
  10. Felipe ContrerasApr 25, 2013
  11. Junio C HamanoApr 25, 2013
  12. Felipe ContrerasApr 25, 2013
  13. Felipe ContrerasApr 26, 2013
  14. Junio C HamanoApr 26, 2013
  15. Felipe ContrerasApr 26, 2013
  16. Re* [PATCH] git-remote-testgit: avoid process substitutionJunio C Hamano, Apr 26, 2013
  17. Johannes SixtApr 27, 2013
  18. Junio C HamanoApr 29, 2013
  19. 0/3 De-bashing remote-testgitJunio C Hamano, Apr 29, 2013
  20. 1/3 git-remote-testgit: avoid process substitutionJunio C Hamano, Apr 29, 2013
  21. 2/3 git-remote-testgit: further remove some bashismsJunio C Hamano, Apr 29, 2013
  22. 3/3 git-remote-testgit: build it to run under $SHELL_PATHJunio C Hamano, Apr 29, 2013

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.