On Wed, Mar 22, 2017 at 2:07 PM, Jeff King <peff@xxxxxxxx> wrote: > On Wed, Mar 22, 2017 at 01:08:04PM -0700, Junio C Hamano wrote: > >> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh >> index 347857fa7c..a20df9420a 100755 >> --- a/t/t7406-submodule-update.sh >> +++ b/t/t7406-submodule-update.sh >> @@ -442,9 +442,9 @@ test_expect_success 'submodule update - command in .git/config catches failure - >> ' >> >> test_expect_success 'submodule update - command run for initial population of submodule' ' >> - cat <<-\ EOF >expect >> + cat >expect <<-\EOF && >> Execution of '\''false $submodulesha1'\'' failed in submodule path '\''submodule'\'' >> - EOF && >> + EOF > > After applying this, I get a failure: > > --- expect 2017-03-22 21:01:53.350721155 +0000 > +++ actual 2017-03-22 21:01:53.346721155 +0000 > @@ -1 +1 @@ > -Execution of 'false $submodulesha1' failed in submodule path 'submodule' > +Execution of 'false 4301fd3e4110d3b6212c19aed3094150392545b9' failed in submodule path '../submodule' > > At the very least, we need to drop the "\" from EOF to expand > $submodulesha1. yes. > But the submodule path seems wrong, too. I'm not sure if > the expectation is wrong, or if there's a bug. +cc Stefan Yes the actual output is wrong, too. But that is not because Git is wrong, but the test suite is. test_must_fail git -C super submodule update >../actual && contains 2 errors: * we are interested in stderr, so make it 2> * the -C switch doesn't apply to redirection. (obviously!) So if you have run the test suite in a normal setup, you may have a file "t/actual" which is empty. This is scary as it managed to break out of the test suite and overwrote a potential file in your git.git. I'll send a patch on top of the one under discussion momentarily. Thanks, Stefan