Stefan Beller <sbel...@google.com> 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" &&

Reply via email to