mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
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
This commit is contained in:
commit
968eecbd01
|
@ -540,6 +540,7 @@ static void runcommand_in_submodule_cb(const struct cache_entry *list_item,
|
|||
if (info->quiet)
|
||||
argv_array_push(&cpr.args, "--quiet");
|
||||
|
||||
argv_array_push(&cpr.args, "--");
|
||||
argv_array_pushv(&cpr.args, info->argv);
|
||||
|
||||
if (run_command(&cpr))
|
||||
|
|
|
@ -421,4 +421,11 @@ test_expect_success 'option-like arguments passed to foreach commands are not lo
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue