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
JCJulien Cretel <j.cretel@umail.ucc.ie>
Date
Feb 16, 2015, 23:40 UTC
Message-ID
<CACdBeKnWJvUmFaHNrzcX7LtovOLu3PFaeTyoUAUeC7wmYUboDg@mail.gmail.com>
In-Reply-To
<xmqqa90d4fdp.fsf@gitster.dls.corp.google.com>
On Mon, Feb 16, 2015 at 11:15 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 8 quoted lines
> Julien Cretel <j.cretel@umail.ucc.ie> writes:
>
>> As of Git 2.3.0, the output of "git log --decorate" is ambiguous as to
>> whether the HEAD is detached or not.
>
> It sounds as if you are reporting some regression, but has any
> version of Git ever done so, or is this just a new feature that
> does not exist yet?

Apologies; I should have explained myself better. I'm not reporting a regression; as far as I can tell, "git log --decorate" has always been ambiguous in that way.

Show 19 quoted lines
>
>> More specifically, consider the following output of "git log --decorate":
>>
>>     4d860e9 (HEAD, master, dev) Remove trailing whitespace
>>
>> Whether the HEAD is attached to master or detached, the output is the same.
>> Could/should "git log --decorate" be modified to provide this information?
>> Perhaps something along the lines of
>>
>>     4d860e9 (HEAD -> master, dev) Remove trailing whitespace
>>
>> or
>>
>>     4d860e9 (HEAD = master, dev) Remove trailing whitespace
>>
>
> I personally do not see a need for such a differenciation.  Why does
> one even need to know, and is it worth the cost of computing at the
> runtime?

I believe the "--decorate" flag to be quite popular. I personally like to run "git log --decorate --graph --oneline --all" to quickly get an idea of the state of a repo. In my experience, many users do the same, to the point that they feel the need to define an alias for this command; see the top answers to http://stackoverflow.com/q/1057564/2541573.

My problem with the current output of "git log --decorate" is the asymmetry, so to speak. If the HEAD is detached but pointing at a commit that isn't any branch's tip, then the user can be sure the HEAD detached; however, if at least one branch points to the current commit, there is no way to tell.

I must admit I haven't given much thought about the cost involved, but I can't imagine performance would take a big hit. Would it?

>
> Most of the time when I am on detached HEAD it is either a few
> commits behind a tip, or a few commits ahead of a tip.
Previous: Junio C HamanoNext: Michael J Gruber
Message 3 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.