In modern Git we prefer "git -C <cmd" over "(cd <somewhere && git <cmd>)" as it doesn't need an extra shell. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- 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. 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" && -- 2.11.0.259.g7b30ecf4f0