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
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
-