Stefan Beller <sbeller@xxxxxxxxxx> writes: > In modern Git we prefer "git -C <cmd" over "(cd <somewhere && git <cmd>)" > as it doesn't need an extra shell. There is a matching '>' missing. The description is correct (I am not sure if there actually is "preference", though), but I found the title a bit misleading. With 'drop unneeded subshell', I would imagine a patch like ( - ( do something ) + do something; do something else; ) It looks more like "reduce use of subshell by using 'git -C <dir>'" to me. > And because it is in a setup function, we actually save the invocation > of 22 shells for a single run of the whole test suite. Nice. > > Noticed while adding a lot more in near vincinity, though not as near > to cause merge conflicts, so sending it extra. > > Thanks, > Stefan > > t/lib-submodule-update.sh | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/t/lib-submodule-update.sh b/t/lib-submodule-update.sh > index 79cdd34a54..915eb4a7c6 100755 > --- a/t/lib-submodule-update.sh > +++ b/t/lib-submodule-update.sh > @@ -69,10 +69,7 @@ create_lib_submodule_repo () { > > git checkout -b "replace_sub1_with_directory" "add_sub1" && > git submodule update && > - ( > - cd sub1 && > - git checkout modifications > - ) && > + git -C sub1 checkout modifications && > git rm --cached sub1 && > rm sub1/.git* && > git config -f .gitmodules --remove-section "submodule.sub1" &&