Subject: Re: [PATCH 6/6] breaking-changes: switch default branch to main

From: Phillip Wood <[email-masked]>
Date: Wed, 3 Sep 2025 10:54:06 +0100

On 03/09/2025 05:44, Patrick Steinhardt wrote:
> On Tue, Sep 02, 2025 at 04:13:27PM +0100, Phillip Wood wrote:
>>
>> I'm happy to drop those patches if there is a consensus that
>> GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME is still useful after we've switched
>> the branch name. I'm still not quite sure what it is useful for though.
>> Removing it makes it clear that the tests are relying on the builtin default
>> branch name that users see rather than some special name used only for
>> tests.
> 
> We may eventually want to remove the whole infra. But I just don't think
> it's necessary as part of the Git 3.0 deprecation and that we can rather
> do it as a follow-up once Git 3.0 is out of the door.
> 
> IIRC, the initial idea behind this variable was to adapt tests to not
> even care what the default initial branch name is in the first place.

When the variable was introduced in 704fed9ea22 (tests: start moving to 
a different default main branch name, 2020-10-23) it was described as 
"This `GIT_TEST_*` variable is meant purely for the transitional period 
while the entire test suite is converted to use `main` as the initial 
branch name by default." The way it has been used is to allow tests to 
continue to hard code a fixed name for the default initial branch.

> Tests should be agnostic of that name and use e.g. git-symbolic-ref(1)
> to figure out what HEAD points to. So maybe we should follow through
> with that idea and start refactoring tests into this direction so that
> they never set or read the variable in the first place.

That might be a good direction for the future. The test suite could set 
TEST_DEFAULT_BRANCH to the default name and tests could use that rather 
setting GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME and hard coding the 
expected name or running 'git symbolic-ref'.

I'll drop the removal of GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME but I'd 
like to keep the patches that switch the tests from using "master" to 
"main". We've converted nearly all of the tests already so it seems a 
shame to leave a handful unconverted.

Thanks

Phillip