Re: Avoiding 'master' nomenclature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 29, 2020 at 01:40:17PM -0700, Linus Torvalds wrote:

> > So really. Both from a technical _and_ a terminology angle, that
> > commit was just wrong.
> 
> So here's the fix.
> 
> The fix is effectively a revert of the patch (and a follow-up
> test-case patch), and instead just replaces the "master" nomenclature
> with "git_default_branch_name()".
> 
> This patch actually removes more uses of "master" than it adds to git,
> and unlike the patches it replaces, actually removes it from other
> projects commit logs.
> 
> Now whatever default branch name you choose really is immaterial.

I don't think that covers all cases.

If I set init.defaultBranch, then that only sets the default branch name
for new repositories I create with "git init". But I may still interact
with many repositories that use a different name (either "master", or
other names chosen by individual projects).

If you suppressed the output for both "master" and
git_default_branch_name(), that would cover more cases, at the expense
of occasionally doing the wrong thing when some project uses "master"
but doesn't mean for it to be a default branch (but that's presumably
rare).  It would still do the wrong thing if you prefer "foo" as the
default branch name for your projects, but sometimes work on a project
that prefers "bar".

Users can set init.defaultBranch in individual repository config files
to get the right behavior, though probably it should be a separate
config variable (the reason it is init.defaultBranch and not
core.defaultBranch is that you may want different defaults for different
operations).

So I think a path forward is more like:

  1. Add a new config option to shorten fmt-merge-msg's output when the
     destination branch matches it (and this should perhaps not even be
     a single name, but a set of globs, which supports more workflows).
     Call it merge.suppressDest or something.

  2. Optionally a repository created with "git init" could copy its
     init.defaultBranch into merge.suppressDest. And likewise a clone
     might copy the remote HEAD into that variable. I'm not sure if that
     is worth doing or not, but it would restore the original behavior
     for the most part.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux