On Friday 2007 February 02 11:02, Lars Hjemli wrote: > "HEAD@{yesterday}" = current branch, yesterday > "@{yesterday}" = detached head (no branch), yesterday I'd vote for this too. It's the only logically consistent view. HEAD is a symbolic reference, it's a way of referring to a real branch by another name. HEAD@{} should be the same as branch@{} to be consistent. Forgetting about detached heads for the moment, imagine that yesterday I did lots of bouncing around on branches, around 1300 (although I wouldn't remember the exact time). Oh look, it's about 1300 now. What then is HEAD@{yesterday} going to tell me? What will it tell me one minute from now? It would be the most confusing operation in the world; I'd have to remember which branch I had checked out and what time I checked it out. I really don't want to be able to answer the question what branch did I have checked out 15 minutes ago. I do want to ask where was my current branch 15 minutes ago. Then of course, it's perfectly reasonable to treat the detached HEAD as meaning that the symref HEAD was pointing at a kind of virtual branch - this is a branch that isn't in the refs directory but is reflogged. Other than that it's no different from any other branch. Any notation would do I think, @{} is as good as any other. In fact, if we used the name "unnamed branch" instead of "detached head", the notation @{} is perfect. (Actually I think unnamed branch is a much better term than detached HEAD, because HEAD is never detached - it must point at something) Andy -- Dr Andy Parkins, M Eng (hons), MIEE andyparkins@xxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html