threads / discuss / 61170

Feature request: status could list ref names after "HEAD detached"

Subject: Feature request: status could list ref names after "HEAD detached"

## tl;dr

3 messages between Mar 21, 2024 and Mar 22, 2024.

replies: 2people: 2as markdown or json

M Hickford· Mar 21, 2024, 08:00 UTC · lore
I frequently run `git status`. Sometimes HEAD is detached:
    HEAD detached at ea601b57e
It would be neat to include ref names here, similar to git log:
    HEAD detached at ea601b57e (origin/main, origin/HEAD, main)
This gives me more information before I create a new branch or switch branch.
Junio C Hamano· Mar 21, 2024, 19:20 UTC · re: M Hickford · lore

Re: Feature request: status could list ref names after "HEAD detached"

M Hickford <mirth.hickford@gmail.com> writes:
Show 9 quoted lines
> I frequently run `git status`. Sometimes HEAD is detached:
>
>     HEAD detached at ea601b57e
>
> It would be neat to include ref names here, similar to git log:
>
>     HEAD detached at ea601b57e (origin/main, origin/HEAD, main)
>
> This gives me more information before I create a new branch or switch branch.

This has already moved away from the original "I want to know on which branch other worktrees are working" feature, but while we are expanding the edges...

I wonder what you want to see when a detached HEAD deviated from its initial position (i.e., when we say "HEAD detached from", not "HEAD detached at", in "git status" output). Would we still want to show the "--decorate" list of existing refs for the original position?

    $ git checkout --detach master
    $ git status | head -n1
    HEAD detached at 3bd955d269
    $ git checkout --allow-empty -m empty
    $ git status | head -n1
    HEAD detached from 3bd955d269
    $ git reset --hard HEAD^
    $ git status | head -n1
    HEAD detached at 3bd955d269

If we add "(master)" after 3bd955d269 in the above illustration, I wonder if it makes it too misleading.

M Hickford· Mar 22, 2024, 15:00 UTC · re: Junio C Hamano · lore

Re: Feature request: status could list ref names after "HEAD detached"

On Thu, 21 Mar 2024 at 19:20, Junio C Hamano <gitster@pobox.com> wrote:
Show 34 quoted lines
>
> M Hickford <mirth.hickford@gmail.com> writes:
>
> > I frequently run `git status`. Sometimes HEAD is detached:
> >
> >     HEAD detached at ea601b57e
> >
> > It would be neat to include ref names here, similar to git log:
> >
> >     HEAD detached at ea601b57e (origin/main, origin/HEAD, main)
> >
> > This gives me more information before I create a new branch or switch branch.
>
> This has already moved away from the original "I want to know on
> which branch other worktrees are working" feature, but while we are
> expanding the edges...
>
> I wonder what you want to see when a detached HEAD deviated from its
> initial position (i.e., when we say "HEAD detached from", not "HEAD
> detached at", in "git status" output).  Would we still want to show
> the "--decorate" list of existing refs for the original position?
>
>     $ git checkout --detach master
>     $ git status | head -n1
>     HEAD detached at 3bd955d269
>     $ git checkout --allow-empty -m empty
>     $ git status | head -n1
>     HEAD detached from 3bd955d269
>     $ git reset --hard HEAD^
>     $ git status | head -n1
>     HEAD detached at 3bd955d269
>
> If we add "(master)" after 3bd955d269 in the above illustration, I
> wonder if it makes it too misleading.

Interesting. I hadn't appreciated the difference between "HEAD detached at" and "HEAD detached from". In the 'from' case, it'd be informative to see some measure of distance from the original position:

HEAD detached from 3bd955d269 (HEAD~1) HEAD detached [ahead 1] from 3bd955d269

Decorated with refs:

HEAD detached from 3bd955d269 (HEAD~1, master) HEAD detached [ahead 1] from 3bd955d269 (master)

← back to recent threads