Subject: Re: [PATCH 00/28] Use main as default branch name

From: Junio C Hamano <[email-masked]>
Date: Fri, 13 Nov 2020 22:13:38 -0800

"Johannes Schindelin via GitGitGadget" <[email-masked]>
writes:

> This is the big one. This changes the default of init.defaultBranch to main,
> reflecting what many open source projects already did (which was followed by
> GitHub, Azure Repos and others).

I'll keep this brief as I'm still offline/vacation til next week.

As other people already said, I'd prefer to see

 - all tests updated to work, without losing any coverage,
   regardless of the default for the init.defaultbranch is.  

   Some test scripts may require setting init.defaultBranch='master'
   at the top in the 'setup' part (I've shown how in my response to
   t4013 patchset) if the body of the test relies too heavily on the
   primary branch to be 'master'.  On the other hand, some test
   scripts may require setting init.defaultBranch='main' at the top,
   if they have been converted to work _only_ with 'main'.

   Both of these are unfortunate, but it is much better than losing
   test coverage during the test update effort.

   Some test scripts may not need any "this test would only work
   with 'master|main', so we are forcing".  After your test update
   series so far, hopefully many may already be ready to be force to
   'main' even when the Git binary may still use 'master' as the
   fallback default for init.defaultBranch.

 - a well thought-out transition plan (including user education and
   publicity), with the final "flip of the fallback default".

and I'd strongly prefer that these two to be done separately.  Since
we cannot anticipate how long the latter would take with unknown
amount of distraction, I'd prefer 100% of our tests keep working
while the fallback default for init.defaultBranch is 'master', and
they still work on the flag day when the default is changed to 'main'
(or 'primary' for that matter---after all, tests that care too deeply
what the primary branch name is, and have been updated to eradicate
'master' from them, would be forcing 'main', so the hardcoded
fallback default in our binary should not matter).

Thanks.