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 19, 2015, 09:52 UTC
Message-ID
<54E5B267.9090604@drmicha.warpmail.net>
In-Reply-To
<xmqq8ufv2e62.fsf@gitster.dls.corp.google.com>
Junio C Hamano venit, vidit, dixit 18.02.2015 20:49:
Show 12 quoted lines
> Michael J Gruber <git@drmicha.warpmail.net> writes:
> 
>> 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).
> 
> Both are ordinary and there is nothing exceptional or dangerous
> about your HEAD temporarily being detached during a "rebase -i"
> session, for example.

Sure, that's why I put it in quotes. That's only how it is perceived by some users, and I suppose it's that kind of users that we are trying to help here.

>> And status, branch
>> will point out that latter case more verbously, too.
> 
> Yeah, but as you said, that is not "log"'s business.

I still think decorations "detached HEAD" resp. "HEAD" for the two cases are more natural, if we want to include any additional information at all. Just think of:

deadbeef (HEAD=master, topicbranch, tag: v1)

log/rev-list is about commit objects. All the refs above resolve to the same commit, so why are only two of them equal?

In fact, they are very unequal, since HEAD would be "ref: refs/heads/master" whereas master would "deadbeef". They are equal in the other (detached) case! I'm not telling you any news here, I just want to point out how badly misleading that notation is.

So, I would suggest to "decorate the decorations", by saying something like "detached HEAD", and maybe some version of "HEAD at master" (I'd prefer just "HEAD") and possibly more info on the tags ("s-tag" or "signed tag" etc).

Michael
Previous: Junio C HamanoNext: Julien Cretel
Message 9 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.