Re: Submodule "git branch" says (HEAD detached at <incorrect-commit>)

2 messages, 2 authors, 2019-07-03 · open the first message on its own page

Re: Submodule "git branch" says (HEAD detached at <incorrect-commit>)

From: Junio C Hamano <hidden>
Date: 2019-07-03 18:17:46

Julius Smith [off-list ref] writes:
"git branch" in the the submodule directory says "(detached from
<commit-for-D>)" but this seems to be wrong.  I did "git diff
<commit>" in the submodule directory to show that it was the C-commit
and not the D-commit as it appeared.  Could "git branch" in the
submodule directory be referring to the commit at the time it was
first detached and not updating after a "git submodule update --init"
in the parent?
There are "detached from" and "detached at" messages.  Their use was
somewhat inconsistent in the older version of Git, but at least
since 2.4.0 (quoting from Documentation/RelNotes/2.4.0.txt):

 * The phrasing "git branch" uses to describe a detached HEAD has been
   updated to agree with the phrasing used by "git status":

    - When HEAD is at the same commit as when it was originally
      detached, they now both show "detached at <commit object name>".

    - When HEAD has moved since it was originally detached, they now
      both show "detached from <commit object name>".

   Previously, "git branch" always used "from".

"git branch" and "git status" should be using the same language to
describe the situation.

Re: Submodule "git branch" says (HEAD detached at <incorrect-commit>)

From: Julius Smith <hidden>
Date: 2019-07-03 19:01:28

Thanks for the explanation.  So then to find out the current commit of
the submodule, I should cd into the submodule directory and say "git
rev-parse HEAD" or "git log -n1", etc.

Suggestion: for a moved HEAD, it would be nice to show "(detached from
<original-commit> now at <current-commit>)".

Thanks for considering, and thanks for a truly great software tool.

- Julius

On Wed, Jul 3, 2019 at 11:17 AM Junio C Hamano [off-list ref] wrote:
Julius Smith [off-list ref] writes:
quoted
"git branch" in the the submodule directory says "(detached from
<commit-for-D>)" but this seems to be wrong.  I did "git diff
<commit>" in the submodule directory to show that it was the C-commit
and not the D-commit as it appeared.  Could "git branch" in the
submodule directory be referring to the commit at the time it was
first detached and not updating after a "git submodule update --init"
in the parent?
There are "detached from" and "detached at" messages.  Their use was
somewhat inconsistent in the older version of Git, but at least
since 2.4.0 (quoting from Documentation/RelNotes/2.4.0.txt):

 * The phrasing "git branch" uses to describe a detached HEAD has been
   updated to agree with the phrasing used by "git status":

    - When HEAD is at the same commit as when it was originally
      detached, they now both show "detached at <commit object name>".

    - When HEAD has moved since it was originally detached, they now
      both show "detached from <commit object name>".

   Previously, "git branch" always used "from".

"git branch" and "git status" should be using the same language to
describe the situation.

-- 

Julius O. Smith III [off-list ref]
Professor of Music and, by courtesy, Electrical Engineering
CCRMA, Stanford University
http://ccrma.stanford.edu/~jos/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help