Re: git-branch manpage question
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Sep 16, 2008, 16:25 UTC
- Message-ID
- <48CFDE0E.4020806@drmicha.warpmail.net>
- In-Reply-To
- <957350.34177.qm@web27803.mail.ukl.yahoo.com>
Mark Struberg venit, vidit, dixit 16.09.2008 16:46:
Show 19 quoted lines
> Hi! > > I think i found an inconsistency in the documentation of the > git-branch command: > > *snip* --track:: .... Set the branch.autosetupmerge configuration > variable to `false` if you want 'git-checkout' and 'git-branch' to > always behave as if '--no-track' were given... *snip* > > and > > *snip* --no-track:: Ignore the branch.autosetupmerge configuration > variable. > > *snip* > > So, the description of branch.autosetupmerge is referencing > --no-track and vice versa, thus the effective documentation is > essentially missing as far as I understand.
Well, what's missing is the explanation that "--no-track" is the opposite of "--track". Do we really need to stress that?
The explanation of "--track" is in the "....", you left it out in your quote.
Maybe the formulation is a bit suboptimal because it's squeezed more or less forcibly into the option list concept. At "--track" there is a description of what is meant by a tracking branch configuration. Now, the logical flow is:
If --track is given, set up tracking. If --no-track is given, don't set up tracking. If none is given, check branch.autosetupmerge: If it is false, don't set up tracking. If it is always, set up tracking. If it is unset (or true), check what kind of start point we branch off from: If it is a remote, set up tracking. If it is not a remote, don't set up tracking.
Admittedly, the description at --track is a bit contrived. But if you read the DESCRIPTION section before the options things should become clear. Maybe git-branch(1) should reference git-config(1).
Cheers, Michael