Subject: Re: DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"

From: Clemens Buchacher <[email-masked]>
Date: Mon, 7 Jun 2010 20:54:39 +0200

On Mon, Jun 07, 2010 at 03:41:58PM +0900, Miles Bader wrote:
> Clemens Buchacher <[email-masked]> writes:
> > The suggestion above would be perfect. It is an easy and obvious
> > solution, and the user is even educated about their mistake.
> 
> Of course, having been educated as to what's going on, the user would
> then be annoyed that they had to type all those boilerplate args when
> git clearly knew what they wanted to do... and that would be the case
> every time from then on...

Why should the user make the same mistake over and over again?

> I think this DWIM is actually pretty convenient, and very often does
> reflect what the user intuitively is trying to do when giving such args.
> 
> Given that git _does_ tell you what it's doing, and that it's easy
> enough to delete the new branch if it wasn't really wanted, it seems
> pretty harmless as well.  A campaign to delete this feature seems kind
> of silly...

It may be harmless to users who know what's going on. I can
certainly deal with this feature, whether it's there or not.

But this is supposedly a feature which helps users who type "git
checkout <branch>" by mistake, when they really wanted to do "git
checkout -t <remote>/<branch>". I am certain that most new users
who make this mistake will not understand what's going on, even if
they read the output.

I believe that it's because of things like this that many users
still consider git to be complicated and hard to use. That's what
really bothers me.

And it makes me sad that you think it silly to even talk about it.
Even if the feature does not end up getting removed I still hope
that we will exercise more caution in the future and try to solve
the real problem--which appears to be remote branch
handling--rather than introducing more strange behavior.

Regards,
Clemens