On Fri, 29 Jan 2010, Junio C Hamano wrote: > We used to just say "topic is not a rev nor path" and failed when the user > said "git checkout topic". And the magic kicks in when there is only one > "remotes/*/topic". > > Because this cannot be any request other than to check out a local branch > "topic", and because there is no place more sensible than the "topic" > taken from the "origin" (as that is the sole place that has "topic"), it > dwims as a shorthand for "checkout -b topic origin/topic" and tells you > that it did so. OK. That is probably sensible. I don't think any improvement on the detached head message should presume on this though. And it might be a good idea to say explicitly that what happened is the creation of a detached HEAD, like in: diff --git a/builtin-checkout.c b/builtin-checkout.c index 5277817..c0a44d7 100644 --- a/builtin-checkout.c +++ b/builtin-checkout.c @@ -523,7 +523,10 @@ static void update_refs_for_switch(struct checkout_opts *opts, REF_NODEREF, DIE_ON_ERR); if (!opts->quiet) { if (old->path) - fprintf(stderr, "Note: moving to '%s' which isn't a local branch\nIf you want to create a new branch from this checkout, you may do so\n(now or later) by using -b with the checkout command again. Example:\n git checkout -b <new_branch_name>\n", new->name); + fprintf(stderr, "Note: '%s' isn't a local branch head: creating a detached HEAD\n" + "If you want to create a new branch from this checkout, you may do so\n" + "(now or later) by using -b with the checkout command again. Example:\n" + " git checkout -b <new_branch_name>\n", new->name); describe_detached_head("HEAD is now at", new->commit); } } (string split onto multiple lines for easier source reading) I think this is important to 1) mention the notion of a branch _head_, and 2) mention "detached HEAD" explicitly for people to be directed to appropriate documentation. So with this change you know exactly what happened and why. Nicolas -- 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