From: Johannes Sixt Date: Sat, 27 May 2017 21:24:49 GMT Subject: Re: [GSoC][PATCH v5 3/3] submodule: port subcommand foreach from shell to C Message-ID: <4ba646ee-ca8a-f8c1-3ba2-2a108852c98e@kdbg.org> In-Reply-To: Am 27.05.2017 um 16:06 schrieb Ramsay Jones: > To be more explicit, last Sunday I hacked into t7407 to show an > example failure on cygwin (see patch below), but it passes on both > Linux (expected) and cygwin! :( Perhaps you can see what I'm doing > wrong? As long as the git.exe you are using here is Cygwin's, Windows conventions do not apply. I think, the environment is transfered across the exec boundaries using Cygwin's own tools, and Windows's case-insensitive environment does not enter the game at all. But that's just a shot in the dark. > > ATB, > Ramsay Jones > > -- >8 -- > Date: Sun, 21 May 2017 16:23:58 +0100 > Subject: [PATCH] submodule: foreach $path munging on cygwin > > --- > t/t7407-submodule-foreach.sh | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh > index 6ba5daf42..c2d66bab7 100755 > --- a/t/t7407-submodule-foreach.sh > +++ b/t/t7407-submodule-foreach.sh > @@ -68,17 +68,36 @@ Entering 'sub3' > $pwd/clone-foo3-sub3-$sub3sha1 > EOF > > +cat >expect-func < +Entering 'sub1' > +running from TRASH > +path is <> > +Entering 'sub3' > +running from TRASH > +path is <> > +EOF > + > test_expect_success 'test basic "submodule foreach" usage' ' > + PATH="$PWD:$PATH" && > + write_script foreach-func <<-\EOF && > + echo "running from TRASH" > + echo "path is <<$1>>" > + EOF > git clone super clone && > ( > cd clone && > git submodule update --init -- sub1 sub3 && > git submodule foreach "echo \$toplevel-\$name-\$path-\$sha1" > ../actual && > + git submodule foreach "foreach-func \$path" > ../actual-func1 && > + git submodule foreach "export path; foreach-func \$path" > ../actual-func2 && > git config foo.bar zar && > git submodule foreach "git config --file \"\$toplevel/.git/config\" foo.bar" > ) && > + test_i18ncmp expect-func actual-func1 && > + test_i18ncmp expect-func actual-func2 && > test_i18ncmp expect actual > ' > +test_done > > cat >expect < Entering '../sub1' >