Re: [GSoC][PATCH v5 3/3] submodule: port subcommand foreach from shell to C
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- May 27, 2017, 21:24 UTC
- Message-ID
- <4ba646ee-ca8a-f8c1-3ba2-2a108852c98e@kdbg.org>
- In-Reply-To
- <ef0b2850-ad3b-e33d-37b7-ece9a305a7a4@ramsayjones.plus.com>
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.
Show 54 quoted lines
> > 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 <<EOF > +Entering 'sub1' > +running from TRASH > +path is <<sub1>> > +Entering 'sub3' > +running from TRASH > +path is <<sub3>> > +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 <<EOF > Entering '../sub1' >