Subject: Re: Should "git log --decorate" indicate whether the HEAD is detached?

From: Michael J Gruber <[email-masked]>
Date: Wed, 18 Feb 2015 20:45:08 +0100

Junio C Hamano venit, vidit, dixit 18.02.2015 18:07:
> Michael J Gruber <[email-masked]> writes:
> 
>> "git branch" will tell you your branches and which one is checked out
>> (or HEAD); "git status" will tell you the latter.
>>
>> "git log" is about the DAG which has absolutely nothing to do with what
>> you have currently checked out.
> 
> Yeah, that summarizes my reaction, too.  More importantly, "log" is
> about showing commits and "--decorate" is a way to enrich the
> presentation of commits---it talks about commits in terms of refs;
> the command and the option is not about describing refs and their
> relationships.
> 
> I do not terribly mind showing the fact that HEAD points at a branch
> when --decorate talks about HEAD, partly because we will be showing
> both HEAD and the branch name _anyway_ in the output.  But I am not
> sure if the extra bit of information is more helpful to the readers
> or being distracting.
> 
> Julien's "HEAD=master, other" vs "HEAD, master, other" may be
> subdued enough to be undistracting, I would guess.  I do not think
> the distinction between "HEAD = master" and "HEAD -> master" would
> be useful, on the other hand.  We already know that the names listed
> all refer to the same commit, which means that we do not have to say
> "HEAD is detached" explicitly as long as we have a way to say "HEAD
> points at this branch".  If HEAD is listed and is not marked to
> point at another branch that is shown, by definition it is detached,
> no?
> 

Yep, it very well is. Also, that approach would tell you which branch is
checked out, though I don't consider that git log's business.

OTOH, it's "backwards" in the sense that it marks the "ordinary" case
(HEAD is symref, branch is checked out) specially compared to the
"exceptional/dangerous" case (HEAD is ref, detached). And status, branch
will point out that latter case more verbously, too.

Michael