From: Michael J Gruber <git@drmicha.warpmail.net>
To: Clemens Buchacher <drizzd@aon.at>
Cc: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
Miles Bader <miles@gnu.org>,
git@vger.kernel.org, Peter Rabbitson <ribasushi@cpan.org>
Subject: Re: DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
Date: Tue, 08 Jun 2010 10:07:49 +0200 [thread overview]
Message-ID: <4C0DFA55.8070800@drmicha.warpmail.net> (raw)
In-Reply-To: <20100607193226.GA19789@localhost>
Clemens Buchacher venit, vidit, dixit 07.06.2010 21:32:
> On Mon, Jun 07, 2010 at 09:17:25PM +0200, Matthieu Moy wrote:
>> Clemens Buchacher <drizzd@aon.at> writes:
>>
>>> 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>".
>>
>> Not sure what's the argument here, but aren't the two commands
>> equivalent? Do you prefer the second syntax "git checkout -t
>> <remote>/<branch>"? It's already a DWIM for "git checkout -b <branch>
>> -t <remote>/<branch>", and I find this one far more confusing:
>>
>> git checkout <remote>/<branch> => detaches HEAD
>> git checkout -t <remote>/<branch> => creates a local branch automatically
>
> The intent with -t is clear. It is used only when you create a new
> branch. Also, you specify the remote branch you're going to create
> a new branch from.
>
> "git checkout <branch>", on the other hand, will create a branch
> based on a remote branch, even though you neither asked for a new
> branch, nor did you specify any remote at all.
You're making a very important point here:
The existing DWIMery executes *different commands* depending on the
circumstances (<branch> existing or not). "checkout" and "checkout
-t/-b" really are different commands.
For me, DWIMery is OK in these cases:
- completing refs (<name> may be refs/heads/<name> or refs/tags/<name> etc.)
- Adding options without which the other options don't make sense
(independent of the circumstances), such adding "-b" for "-t", or, even
doing the DWIMery above since "--track" is requested explicitly.
Changing the command (mode) is something fundamentally different.
[In this specific case, it also keeps the user from learning what's
going on, but that's a different issue.]
But I'm afraid it's too late.
Michael
next prev parent reply other threads:[~2010-06-08 8:08 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-05 11:09 DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz" Clemens Buchacher
2010-06-05 13:29 ` Sverre Rabbelier
2010-06-05 13:58 ` Clemens Buchacher
2010-06-05 14:03 ` Sverre Rabbelier
2010-06-05 15:02 ` Clemens Buchacher
2010-06-05 18:23 ` Nicolas Pitre
2010-06-06 16:18 ` Jeff King
2010-06-06 16:55 ` Clemens Buchacher
2010-06-06 16:59 ` Jacob Helwig
2010-06-06 17:32 ` Clemens Buchacher
2010-06-06 17:34 ` Sverre Rabbelier
2010-06-06 21:26 ` Jacob Helwig
2010-06-07 18:29 ` Clemens Buchacher
2010-06-07 20:11 ` Jan Krüger
2010-06-07 21:12 ` Clemens Buchacher
2010-06-06 18:34 ` Johan Herland
2010-06-06 16:18 ` Matthieu Moy
2010-06-06 16:46 ` Clemens Buchacher
2010-06-07 6:41 ` Miles Bader
2010-06-07 18:54 ` Clemens Buchacher
2010-06-07 19:17 ` Matthieu Moy
2010-06-07 19:32 ` Clemens Buchacher
2010-06-07 19:52 ` Bruce Stephens
2010-06-08 8:07 ` Michael J Gruber [this message]
2010-06-08 8:18 ` demerphq
2010-06-08 8:37 ` Michael J Gruber
2010-06-08 0:25 ` Miles Bader
2010-06-08 7:29 ` Clemens Buchacher
2010-06-08 7:47 ` demerphq
2010-06-08 13:04 ` Matthieu Moy
2010-06-08 7:52 ` Miles Bader
2010-06-08 7:52 ` Jeff King
2010-06-08 18:13 ` Clemens Buchacher
2010-06-07 7:53 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C0DFA55.8070800@drmicha.warpmail.net \
--to=git@drmicha.warpmail.net \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=drizzd@aon.at \
--cc=git@vger.kernel.org \
--cc=miles@gnu.org \
--cc=ribasushi@cpan.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).