From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.176.0/21 X-Spam-Status: No, score=-3.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MSGID_FROM_MTA_HEADER,RP_MATCHES_RCVD shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 From: Carl Worth Subject: Re: Cleaning up git user-interface warts Date: Wed, 15 Nov 2006 14:52:32 -0800 Message-ID: <87psbos4pb.wl%cworth@cworth.org> References: <87k61yt1x2.wl%cworth@cworth.org> <200611151858.51833.andyparkins@gmail.com> <87velgs9hx.wl%cworth@cworth.org> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: multipart/signed; boundary="pgp-sign-Multipart_Wed_Nov_15_14:52:32_2006-1"; micalg=pgp-sha1; protocol="application/pgp-signature" Content-Transfer-Encoding: 7bit NNTP-Posting-Date: Wed, 15 Nov 2006 22:53:05 +0000 (UTC) Cc: Nicolas Pitre , "Michael K. Edwards" , git@vger.kernel.org Return-path: Envelope-to: gcvg-git@gmane.org In-Reply-To: User-Agent: Wanderlust/2.14.0 (Africa) Emacs/21.4 Mule/5.0 (SAKAKI) Precedence: bulk X-Mailing-List: git@vger.kernel.org Archived-At: Received: from vger.kernel.org ([209.132.176.167]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GkTcp-0002Ww-M2 for gcvg-git@gmane.org; Wed, 15 Nov 2006 23:53:00 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031012AbWKOWwv (ORCPT ); Wed, 15 Nov 2006 17:52:51 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1031017AbWKOWwv (ORCPT ); Wed, 15 Nov 2006 17:52:51 -0500 Received: from theworths.org ([217.160.253.102]:63645 "EHLO theworths.org") by vger.kernel.org with ESMTP id S1031012AbWKOWwu (ORCPT ); Wed, 15 Nov 2006 17:52:50 -0500 Received: (qmail 22505 invoked from network); 15 Nov 2006 17:52:49 -0500 Received: from localhost (HELO raht.cworth.org) (127.0.0.1) by localhost with SMTP; 15 Nov 2006 17:52:49 -0500 To: Linus Torvalds Sender: git-owner@vger.kernel.org --pgp-sign-Multipart_Wed_Nov_15_14:52:32_2006-1 Content-Type: text/plain; charset=US-ASCII On Wed, 15 Nov 2006 13:45:58 -0800 (PST), Linus Torvalds wrote: > On Wed, 15 Nov 2006, Carl Worth wrote: > > > > Well, one of the problems is that with current git I can teach, (and I > > have), that there's a conceptual: > > > > pull = fetch + merge > > > > But then shortly after I have to teach an interface notion: > > > > merge = pull . > > This is why I would suggest teaching the _concept_ of the "merge", and not > the actual command. > > I don't think you should basically ever use the "git merge" command > itself, not in teaching, and not in real life. I think that's just and accident of git-merge having such a bad syntax, (requiring a merge message, not using -m for that, requiring two heads instead of defaulting to current, etc.). So the result is accepting another bad syntax "pull ." for an operation that really is merge. > Once you've explained the _concept_ of merging, you then introduce the > command to actually _execute_ the merge: it's "git pull". I think we'll be doing better when there is a stronger correlation between the concepts of the operations and the command names for carrying them out. Plus, when I'm teaching "fetch everything first, then manipulate it locally", (which is what I teach, since that's the only way I use git), then the "." looks really out of place when I teach the 'merge' command. I end up saying, "Oh, that's there because you could do the fetch and merge all in one step if you really wanted, but I never do that.". And that's because I _do_ teach fetch first, as you've suggested. > changes from both branches. So it's a _conceptual_ issue, and that's why I > said I think you should just totally gloss over the whole issue of "git > merge" syntax. That doesn't work. I know I went looking at the git-merge documentation when I started to learn git. "It can't really be this hard, can it?" was my reaction to it. And then only after attending a tutorial did I learn that "pull ." is the way it's really done. That's nothing more than a user-interface trap for new users, plain and simple. The real fix is to stop glossing over git-merge and just give it a usable syntax. -Carl --pgp-sign-Multipart_Wed_Nov_15_14:52:32_2006-1 Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQBFW5ow6JDdNq8qSWgRAsnQAKCYgRHru7xAHn+O7RQFVa3IlXQRHACfbhwX NnbDgzDzLXUcD90YWOzimj4= =ySLy -----END PGP SIGNATURE-----