Thread (1 message) 1 message, 1 author, 2016-06-15

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help