Re: [PATCH] test-lib: use subshell instead of cd $new && .. && cd $old
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 24 quoted lines
> Ævar Arnfjörð Bjarmason wrote:
>
>> +++ b/t/test-lib.sh
>> @@ -687,14 +687,12 @@ test_when_finished () {
>> test_create_repo () {
>> test "$#" = 1 ||
>> error "bug in the test script: not 1 parameter to test-create-repo"
>> - owd=`pwd`
>> repo="$1"
>> mkdir -p "$repo"
>> - cd "$repo" || error "Cannot setup test environment"
>> + (cd "$repo" || error "Cannot setup test environment"
>> "$GIT_EXEC_PATH/git-init" "--template=$GIT_BUILD_DIR/templates/blt/" >&3 2>&4 ||
>> error "cannot run git init -- have you built things yet?"
>> - mv .git/hooks .git/hooks-disabled
>> - cd "$owd"
>> + mv .git/hooks .git/hooks-disabled)
>
> Style: why not use
>
> (
> cd "$repo" ...
> ... .git/hooks-disabled
> )That is a sensible suggestion, but what does "error" do?
I think you would need || exit at the end, i.e.
(
... || error "..."
) || exitor something.