git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] test-lib: use subshell instead of cd $new && .. && cd $old

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 31, 2010, 17:58 UTC
Message-ID
<7vaao2br58.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20100830155723.GC3292@burratino>
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 "..."
	) || exit
or something.
Previous: Jonathan NiederNext: Ævar Arnfjörð Bjarmason
Message 5 of 6 in “test-lib: use subshell instead of cd $new && .. && cd $old”
  1. test-lib: use subshell instead of cd $new && .. && cd $oldÆvar Arnfjörð Bjarmason, Aug 30, 2010
  2. Jonathan NiederAug 30, 2010
  3. Ævar Arnfjörð BjarmasonAug 30, 2010
  4. Jonathan NiederAug 30, 2010
  5. Junio C HamanoAug 31, 2010
  6. Ævar Arnfjörð BjarmasonAug 31, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.