Re: Avoiding 'master' nomenclature

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

 



Jeff King <peff@xxxxxxxx> writes:

> 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).

Yup, in a very early iteration, we had two such configuration.  The
name 'git init' uses when not told what branch name to use from the
command line, which became init.defaultBranchName, which does not
make sense in per-repo configuration.  The other is to specify which
branch to treat specifically in the repository for a very small
number of operations (namely, fmt-merge-msg and anonymization for
fast-export).  What we ended up was with a single configuration, not
treating just one single branch as special in an existing repository.

The fast-export side lifted the "single branch is special"; we
didn't do something similar for "fmt-merge-msg".

> 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.

Yeah, that sounds like a good plan.



[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