bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#16843: Error caused due to regression in git


From: Eric Blake
Subject: bug#16843: Error caused due to regression in git
Date: Mon, 24 Feb 2014 12:53:01 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

On 02/24/2014 12:37 PM, Darshit Shah wrote:

>>> Based on the test that is failing, can you please show the output of:
>>>
>>>   git submodule --quiet foreach echo 'a  b' '"c  d"'

>> What about:
>>
>>   git submodule --quiet foreach 'echo a  b "c  d" "$sha1"'
>>

> 
> The first command:
> git submodule --quiet foreach echo 'a  b' '"c  d"'
> gives the output: a  b "c  d"

Good, I was right - newer git is doing one less round of shell
interpolation, so the second layer of quotes that we were adding for
older git now show up as literal arguments in newer git.

> Where there is a double space between a and b while c and d still retain
> their quotes.
> 
> The second command:
> git submodule --quiet foreach 'echo a  b "c  d" "$sha1"'
> 
> Gives the output:
> a b c  d 0ac90c5a98030c998f3e1db3a0d7f19d4630b6b6

Yay - you confirmed that the solution that works for both versions of
git is to ensure that we provide exactly one argument to the foreach
command, where that argument gets passed through the shell with
identical results.  I'll patch maint.mk shortly.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]