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/