git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Feb 18, 2015, 19:45 UTC
Message-ID
<54E4EBC4.6000802@drmicha.warpmail.net>
In-Reply-To
<xmqq8ufv408l.fsf@gitster.dls.corp.google.com>
Junio C Hamano venit, vidit, dixit 18.02.2015 18:07:
Show 30 quoted lines
> Michael J Gruber <git@drmicha.warpmail.net> 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
Previous: Junio C HamanoNext: Junio C Hamano
Message 7 of 23 in “Should "git log --decorate" indicate whether the HEAD is detached?”
  1. Julien CretelFeb 16, 2015
  2. Junio C HamanoFeb 16, 2015
  3. Julien CretelFeb 16, 2015
  4. Michael J GruberFeb 18, 2015
  5. log: decorate detached HEAD differentlyMichael J Gruber, Feb 18, 2015
  6. Junio C HamanoFeb 18, 2015
  7. Michael J GruberFeb 18, 2015
  8. Junio C HamanoFeb 18, 2015
  9. Michael J GruberFeb 19, 2015
  10. Julien CretelFeb 19, 2015
  11. Junio C HamanoFeb 20, 2015
  12. log: decorate detached HEAD differentlyMichael J Gruber, Mar 6, 2015
  13. Michael J GruberMar 6, 2015
  14. Junio C HamanoMar 6, 2015
  15. Michael J GruberMar 9, 2015
  16. Junio C HamanoMar 10, 2015
  17. Michael J GruberMar 10, 2015
  18. 0/2 log decorations for HEADMichael J Gruber, Mar 10, 2015
  19. Junio C HamanoMar 10, 2015
  20. Michael J GruberMar 11, 2015
  21. Julien CretelMar 23, 2015
  22. 1/2 log-tree: properly reset colorsMichael J Gruber, Mar 10, 2015
  23. 2/2 log: decorate HEAD with branch nameMichael J Gruber, Mar 10, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.