Thomas Rast wrote: > Junio C Hamano wrote: > > > > #1. These used to detach, but will create a local branch > > > > $ git checkout origin/next ;# as if with -t > > $ git checkout xyzzy/frotz ;# as if with -t (origin is not special) > > Agreed, though I'm still in favour of a cleaner syntax for explicit > detaching. (Cleaner in the sense that ^0 is documented as having a > completely different purpose and only works by accident.) Not sure if it's too late in the thread, but after sleeping over it and re-reading (and the other developments in the thread) I'm not happy with my earlier opinion any more. I think the DWIM part of it is a bad idea because of this: > > $ git checkout origin/master ;# detach, or refuse??? > > This seems to be the trickiest of them. Maybe check out 'master', to > make the process repeatable. Imagine, in your setting, > > git checkout origin/next ;# creates 'next' as with -t > git checkout - ;# back > git checkout origin/next ;# should go to 'next' again > > Then again, that would trade the confusion of detaching for the > confusion of not checking out the exact commit that the user > specified. Worse, 'next' could conceivably be tracking (as per > branch.next.merge) some entirely different branch, making the "Your > branch is behind..." message misleading. So I think we're now mixing up two different goals in this thread: a) Stopping the users from hurting themselves by inadvertent detaching b) Helping the users by DWIMming local branches for them I'm all for (a), but (b) is much harder. -- Thomas Rast trast@{inf,student}.ethz.ch -- 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