threads / discuss / 48011

recent glob expansion breakage on Windows?

Subject: recent glob expansion breakage on Windows?

## tl;dr

4 messages between Mar 8, 2018 and Mar 13, 2018.

replies: 3people: 3as markdown or json

Laszlo Ersek· Mar 8, 2018, 21:02 UTC · lore
Hi,

Jaben reports that git-send-email is suddenly failing to expand the "*.patch" glob for him, at the Windows CMD prompt:

--------- E:\...>git send-email --suppress-cc=author --suppress-cc=self --suppress-cc=cc --suppress-cc=sob --dry-run *.patch

No patch files specified! ---------

Whereas, moving the same patch files to another subdir, and then passing the subdir to git-send-email, works fine.

I seem to have found some $^O based perl code in the git tree that expands the glob manually (in place of the shell) on Windows -- however, that code looks ancient ^W very stable, and doesn't seem to explain the sudden breakage.

Is it possible that a separate perl update on Jaben's Windows box is causing this? Or does the breakage look consistent with a recent git change?

Has anyone else reported something similar recently?

Thanks (and sorry about the noise; this list might not be the best place to ask)! Laszlo

Jonathan Nieder· Mar 8, 2018, 22:03 UTC · re: Laszlo Ersek · lore

Re: recent glob expansion breakage on Windows?

+git-for-windows Hi,

Laszlo Ersek wrote:
Show 21 quoted lines
> Jaben reports that git-send-email is suddenly failing to expand the
> "*.patch" glob for him, at the Windows CMD prompt:
>
> ---------
> E:\...>git send-email --suppress-cc=author --suppress-cc=self --suppress-cc=cc --suppress-cc=sob --dry-run *.patch
>
> No patch files specified!
> ---------
>
> Whereas, moving the same patch files to another subdir, and then passing
> the subdir to git-send-email, works fine.
>
> I seem to have found some $^O based perl code in the git tree that
> expands the glob manually (in place of the shell) on Windows -- however,
> that code looks ancient ^W very stable, and doesn't seem to explain the
> sudden breakage.
>
> Is it possible that a separate perl update on Jaben's Windows box is
> causing this? Or does the breakage look consistent with a recent git change?
>
> Has anyone else reported something similar recently?

This reminds me of https://github.com/git-for-windows/git/issues/339. There, Johannes Schindelin writes (about a different command):

| This is expected because neither PowerShell nor cmd.exe nor git.exe
| expand wildcards. Those examples you found were written with a shell
| in mind, and the shell expands wildcards (hence Git does not think
| it needs to).

That may or may not also apply to send-email. In what version did it work?

Thanks, Jonathan

> Thanks (and sorry about the noise; this list might not be the best place
> to ask)!
> Laszlo
Laszlo Ersek· Mar 9, 2018, 09:41 UTC · re: Jonathan Nieder · lore

Re: recent glob expansion breakage on Windows?

On 03/08/18 23:03, Jonathan Nieder wrote:
Show 36 quoted lines
> +git-for-windows
> Hi,
> 
> Laszlo Ersek wrote:
> 
>> Jaben reports that git-send-email is suddenly failing to expand the
>> "*.patch" glob for him, at the Windows CMD prompt:
>>
>> ---------
>> E:\...>git send-email --suppress-cc=author --suppress-cc=self --suppress-cc=cc --suppress-cc=sob --dry-run *.patch
>>
>> No patch files specified!
>> ---------
>>
>> Whereas, moving the same patch files to another subdir, and then passing
>> the subdir to git-send-email, works fine.
>>
>> I seem to have found some $^O based perl code in the git tree that
>> expands the glob manually (in place of the shell) on Windows -- however,
>> that code looks ancient ^W very stable, and doesn't seem to explain the
>> sudden breakage.
>>
>> Is it possible that a separate perl update on Jaben's Windows box is
>> causing this? Or does the breakage look consistent with a recent git change?
>>
>> Has anyone else reported something similar recently?
> 
> This reminds me of https://github.com/git-for-windows/git/issues/339.
> There, Johannes Schindelin writes (about a different command):
> 
> | This is expected because neither PowerShell nor cmd.exe nor git.exe
> | expand wildcards. Those examples you found were written with a shell
> | in mind, and the shell expands wildcards (hence Git does not think
> | it needs to).
> 
> That may or may not also apply to send-email.

Thank you for the reference -- I can't say whether closing issue #339 as WONTFIX was justified or not, but it certainly seems inconsistent with Jaben's earlier experience (to my understanding), i.e. that git did expand the glob.

> In what version did it work?

Jaben, can you please answer that? (One version in which it is broken is 2.14.1.windows.1.) Can you perhaps ask your teammates about their git/windows versions (assuming the *.patch glob is expanded correctly for them)?

Thank you, Jonathan, Laszlo

Carsey, Jaben· Mar 13, 2018, 23:12 UTC · re: Laszlo Ersek · lore

RE: recent glob expansion breakage on Windows?

I do not remember what version I was using before.  I am suddenly wondering if I previously sent single patches instead of using wildcard (which works fine).  The only person I have found doing patch series here on windows uses the directory method (put patch files there, list directory name on send-email command line).
I have updated to the 2.16.2 version and I see the same issues.
-Jaben
Show 63 quoted lines
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Friday, March 09, 2018 1:42 AM
> To: Jonathan Nieder <jrnieder@gmail.com>
> Cc: public git mailing list <git@vger.kernel.org>; Carsey, Jaben
> <jaben.carsey@intel.com>; git-for-windows@googlegroups.com
> Subject: Re: recent glob expansion breakage on Windows?
> Importance: High
> 
> On 03/08/18 23:03, Jonathan Nieder wrote:
> > +git-for-windows
> > Hi,
> >
> > Laszlo Ersek wrote:
> >
> >> Jaben reports that git-send-email is suddenly failing to expand the
> >> "*.patch" glob for him, at the Windows CMD prompt:
> >>
> >> ---------
> >> E:\...>git send-email --suppress-cc=author --suppress-cc=self --suppress-
> cc=cc --suppress-cc=sob --dry-run *.patch
> >>
> >> No patch files specified!
> >> ---------
> >>
> >> Whereas, moving the same patch files to another subdir, and then passing
> >> the subdir to git-send-email, works fine.
> >>
> >> I seem to have found some $^O based perl code in the git tree that
> >> expands the glob manually (in place of the shell) on Windows -- however,
> >> that code looks ancient ^W very stable, and doesn't seem to explain the
> >> sudden breakage.
> >>
> >> Is it possible that a separate perl update on Jaben's Windows box is
> >> causing this? Or does the breakage look consistent with a recent git
> change?
> >>
> >> Has anyone else reported something similar recently?
> >
> > This reminds me of https://github.com/git-for-windows/git/issues/339.
> > There, Johannes Schindelin writes (about a different command):
> >
> > | This is expected because neither PowerShell nor cmd.exe nor git.exe
> > | expand wildcards. Those examples you found were written with a shell
> > | in mind, and the shell expands wildcards (hence Git does not think
> > | it needs to).
> >
> > That may or may not also apply to send-email.
> 
> Thank you for the reference -- I can't say whether closing issue #339 as
> WONTFIX was justified or not, but it certainly seems inconsistent with
> Jaben's earlier experience (to my understanding), i.e. that git did
> expand the glob.
> 
> > In what version did it work?
> 
> Jaben, can you please answer that? (One version in which it is broken is
> 2.14.1.windows.1.) Can you perhaps ask your teammates about their
> git/windows versions (assuming the *.patch glob is expanded correctly
> for them)?
> 
> Thank you, Jonathan,
> Laszlo

← back to recent threads