From: Junio C Hamano Date: Tue, 9 Jul 2019 22:25:46 +0000 (-0700) Subject: Merge branch 'ms/submodule-foreach-fix' X-Git-Tag: v2.23.0-rc0~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=968eecbd01e06aa8cae6c7fd8bf0a7b9bbd3b1fc;p=thirdparty%2Fgit.git Merge branch 'ms/submodule-foreach-fix' "git submodule foreach" did not protect command line options passed to the command to be run in each submodule correctly, when the "--recursive" option was in use. * ms/submodule-foreach-fix: submodule foreach: fix recursion of options --- 968eecbd01e06aa8cae6c7fd8bf0a7b9bbd3b1fc diff --cc t/t7407-submodule-foreach.sh index 706ae762e0,57e4b7f990..6b2aa917e1 --- a/t/t7407-submodule-foreach.sh +++ b/t/t7407-submodule-foreach.sh @@@ -411,14 -411,11 +411,21 @@@ test_expect_success 'multi-argument com test_cmp expected actual ' +test_expect_success 'option-like arguments passed to foreach commands are not lost' ' + ( + cd super && + git submodule foreach "echo be --quiet" > ../expected && + git submodule foreach echo be --quiet > ../actual + ) && + grep -sq -e "--quiet" expected && + test_cmp expected actual +' + + test_expect_success 'option-like arguments passed to foreach recurse correctly' ' + git -C clone2 submodule foreach --recursive "echo be --an-option" >expect && + git -C clone2 submodule foreach --recursive echo be --an-option >actual && + grep -e "--an-option" expect && + test_cmp expect actual + ' + test_done