On Wed, Jan 31, 2007 at 12:20:33PM -0800, Junio C Hamano wrote: > I think you (and others in the thread) are forgetting that > moving to a particular state by resetting can create a state > that you may want to keep a pointer to, but you do not have any > existing ref. That's one of the reasons why we do not merely > check if the detached HEAD is not reachable from any of the > existing refs when coming back. Instead, we check and warn if > the detached HEAD does not exactly match one of the existing > refs. Is that an important distinction? The way the user got there was by manually specifying the SHA-1 shash of the commit to git-checkout. So if the user could get there once, the user could get there again a second time. Just because we don't have a name to that precise commit inside the git system doesn't necessary mean the user can't get back there. In fact, the user probably could via "history | grep 'git checkout'". > So "until you make commits" is not sufficient, which means that > covering all the way you can make commits isn't, either. My personal belief is that covering all the way you can make commits is where you want to be putting the check. If I say something like git checkout f00b51b8 There's nothing dangerous about that statement. To argue that this is dangerous and the git needs to warn me because I might not be able to get back to it seems silly. Of _course_ I can get back there; the same way I got here in the first place --- By simply saying, "git checkout f00b51b8" again! And if I tell a user that they should try out a particular version of the code, issueing a scary message right then there is pointless if they are only going to be doing a read-only browse of the tree, is just a Bad Thing. The best place to warn them really is when they modify the tree. Otherwise, we'll be educating users to use the -f flag, or telling users to "ignore the warning, git's being silly", neither of which is desirable. - Ted - 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