Re: detached HEAD before root commit - possible?
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:53
Martin von Zweigbergk [off-list ref] writes:
On Sun, Jun 23, 2013 at 4:54 PM, Jonathan Nieder [off-list ref] wrote:quoted
In other words, HEAD always either points to an unborn or existing branch or an existing commit. It's not clear to me what it would mean to detach from an unborn branch.I think it should mean that the next commit would be a root commit (of course) and that HEAD would be detached and point to that commit.
Yup. As Jonathan outlined how the current system works: - $GIT_DIR/HEAD could be a symref to a branch, which may or may not exist (the latter being "unborn"); or - $GIT_DIR/HEAD could be directly pointing at an existing commit, which is the definition of "detached", as you "detach HEAD at that commit". even though such a "I do not have any commit and I will not be on any branch" state were to be supported, the consequence of that would be that a natural implementation of such a state is to represent it by not having $GIT_DIR/HEAD at all. That will break quite a lot of things, as such a directory $GIT_DIR will not be treated as a git directory in the first place. Of course, you could fix them up to support it, but I doubt if it is worth the trouble.