Subject: Re: [PATCH v2 4/4] t0613: stop setting default initial branch

From: Junio C Hamano <[email-masked]>
Date: Thu, 04 Sep 2025 11:35:31 -0700

Phillip Wood <[email-masked]> writes:

> From: Phillip Wood <[email-masked]>
>
> As the tests are all run in separate repositories, set the branch name
> to "master" when creating the repository for the tests where the result
> depends on the branch name. This reduceds the number of tests that
> depend on the default branch name being "master" and removes the last
> instance of a test file using "GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=
> master".
>
> Signed-off-by: Phillip Wood <[email-masked]>
> ---
>  t/t0613-reftable-write-options.sh | 20 +++++++++-----------
>  1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/t/t0613-reftable-write-options.sh b/t/t0613-reftable-write-options.sh
> index d77e601111f..6d00432219f 100755
> --- a/t/t0613-reftable-write-options.sh
> +++ b/t/t0613-reftable-write-options.sh
> @@ -11,16 +11,14 @@ export GIT_TEST_REFTABLE_AUTOCOMPACTION
>  # Block sizes depend on the hash function, so we force SHA1 here.
>  GIT_TEST_DEFAULT_HASH=sha1
>  export GIT_TEST_DEFAULT_HASH
> -# Block sizes also depend on the actual refs we write, so we force "master" to
> -# be the default initial branch name.
> -GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
> -export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
>  
>  . ./test-lib.sh
>  
>  test_expect_success 'default write options' '
>  	test_when_finished "rm -rf repo" &&
> -	git init repo &&
> +	# Block sizes also depend on the actual refs we write, so we force
> +	# "master" to be the default initial branch name.

A new developer who would want to add a new test later may or may
not pay attention to this first test piece that would look an equal
among many others.  I suspect that keeping the comment before these
test sequences begin would have been better.  Or perhaps append "all
the following test use the --initial-branch option for the same
reason" after it?

> +	git init --initial-branch master repo &&
> +	git init --initial-branch master repo &&
> +	git init --initial-branch master repo &&
> +	git init --initial-branch master repo &&
> +	git init --initial-branch master repo &&
> +	git init --initial-branch master repo &&
> +	git init --initial-branch master repo &&

Having to change this many "git init" invocations feels awkward,
especially when we envision what needs to be done if somebody needs
to update this file later.  I wonder if a new helper function
upfront

        +init_repo () {
        +	git init --initial-branch master repo
        +}
        +

with many changes like this to the rest of file

	-	git init repo &&
	+	init_repo &&

may be easier to maintain over time?  I dunno.