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