From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: VC mode and git Date: Sat, 04 Apr 2015 02:31:29 +0900 Message-ID: <87ioddglu6.fsf@uwakimon.sk.tsukuba.ac.jp> References: <83twx2xoc8.fsf@gnu.org> <87619hke3u.fsf@uwakimon.sk.tsukuba.ac.jp> <551A3F17.6020903@math.ntnu.no> <20150331085055.GA2871@acm.fritz.box> <87zj6tiko1.fsf@uwakimon.sk.tsukuba.ac.jp> <20150331104935.GB2871@acm.fritz.box> <87y4mdi7tj.fsf@uwakimon.sk.tsukuba.ac.jp> <20150331214347.GH2871@acm.fritz.box> <20150401103225.GA2633@acm.fritz.box> <87h9t080gx.fsf@javad.com> <83384jsx3o.fsf@gnu.org> <83pp7nrfdn.fsf@gnu.org> <83a8yqr226.fsf@gnu.org> <831tk2qvz5.fsf@gnu.org> <87384ii26v.fsf@uwakimon.sk.tsukuba.ac.jp> <83wq1tptvp.fsf@gnu.org> <87pp7lhc9h.fsf@uwakimon.sk.tsukuba.ac.jp> <83sichpqe9.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-Trace: ger.gmane.org 1428082322 27127 80.91.229.3 (3 Apr 2015 17:32:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 3 Apr 2015 17:32:02 +0000 (UTC) Cc: sorganov@gmail.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 03 19:31:54 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Ye5Rg-0001oa-Ty for ged-emacs-devel@m.gmane.org; Fri, 03 Apr 2015 19:31:53 +0200 Original-Received: from localhost ([::1]:34877 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ye5Rg-0007eA-8K for ged-emacs-devel@m.gmane.org; Fri, 03 Apr 2015 13:31:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40752) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ye5RT-0007e5-Ew for emacs-devel@gnu.org; Fri, 03 Apr 2015 13:31:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ye5RS-00045p-88 for emacs-devel@gnu.org; Fri, 03 Apr 2015 13:31:39 -0400 Original-Received: from shako.sk.tsukuba.ac.jp ([130.158.97.161]:55984) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ye5RN-000449-6G; Fri, 03 Apr 2015 13:31:33 -0400 Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by shako.sk.tsukuba.ac.jp (Postfix) with ESMTPS id 28CA71C3894; Sat, 4 Apr 2015 02:31:30 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id 00B96120EC9; Sat, 4 Apr 2015 02:31:29 +0900 (JST) In-Reply-To: <83sichpqe9.fsf@gnu.org> X-Mailer: VM undefined under 21.5 (beta34) "kale" 83e5c3cd6be6 XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 130.158.97.161 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:184841 Archived-At: Eli Zaretskii writes: > See the glossary: a (successful) merge _results_ in a commit, but > that's not what it _is_. (Should I quote Lewis Carrol's immortal > piece about the difference between the name of a thing and the thing > itself?) No. You should say what you mean, instead of telling others that they're wrong and saying anything *but* what you mean. "What you have ment throughout" was well-expressed in your reply to Sergey when you mentioned the branch-tracing operation which gives the commit that contains the tree for the "base version" of a three-way merge. > I'm saying that trying to explain to newbies what a merge does by > being "technically correct" is not helpful. Being technically *incorrect* is even less helpful. Your answer to Alan (indirectly via Sergey) that a merge (1) identifies a base commit, (2) uses that and the trees of the two branch heads (usually) to perform a 3-way merge, (3) collects the metadata (specifically, the new tree and the parents), (4) assembles that into a commit which is stored in the tree, and (5) advances HEAD of the current branch to that commit is indeed useful, but from Alan's point of view you still missed a crucial point, which is that git operates on *commits*, and not directly on the workspace. It is *convenient* to use the workspace for the work (since you're going to check out the merged tree there in the end), and that is the (technical) reason you need to be committed up before merging. > I don't even understand all this attitude: do we want Git newbies > to become more proficient in using Git, No, we want to support their efforts to become more productive using git. If they want to become proficient, I don't think there's any problem. But Alan and Richard have expressed a rather strong desire to learn *nothing* about git, yet insist on workflows that are infeasible if they remain ignorant of the details and options of git. They can't have both; the first task is to make that clear, so that they can make their own choice as to whether to become proficient in git, or to adopt a workflow that is less than optimal according to their opinions. > or do we want to just humiliate them by pointing out how little > they know? That was uncalled for. > If the former, why do we insist on being "technically correct" > instead of explaining things in a way they could be understood? Because it's entirely unclear to me what they are asking. Richard is incapable of describing what he actually did, yet bridles at any suggestion that his actions were involved in messing things up (despite repeated admissions that he forgot this or that). Alan is similar. They profess ignorance of git but assert that it is a "screw" and poorly designed. > No, it is described as "the action of storing a new snapshot of the > project's state in the Git history by creating a commit object and > advancing HEAD to point at the new commit". By selectively omitting > the parts of this description, you make it sound like I said > something incorrect, which is false. OK, you are correct, it is more than creating a commit object. It also includes advancing HEAD. How does that level of nitpicking advance the cause of explaining to Alan what a commit is? > > using the shorthand of "commit" for "commit object" described in the > > noun section. > > I already said that using shorthands in this discussion only increases > confusion, and is not helpful to newbies who strive to understand a > complex subject. "Complain to the writers of the Git glossary, then. I just read what they say there." > > Note that you can't even claim that there's a need to collect meta > > data for the tree; that's *already* in the index in principle (ie, if > > you use "git add ; git commit" instead of the shorthand "git > > commit "). > > READ THE GLOSSARY UNDER "MERGE"!! Why? Here I was discussing "commit", which you also claim (pedantically correct) is more than simply creating a commit object. However, I did read it a couple of times, and with the exception of your post to Sergey, I have no clue what you're talking about. > It clearly says that the merge action _includes_ bringing that > data. Ah, with "merge", we have an English problem. "Bring" and the other words you have used to describe the *computation* of the merged tree are inappropriate. They correspond semantically to *fetch*. > I'm just following the glossary, no more, no less. Quite inaccurately, IMO, and while it doesn't matter who's "correct", that *difference* matters, because when you refer to the glossary without precise description of what you mean *in your own words*, I understand something different from what you intend, and communication fails. You're perfectly capable of expressing yourself operationally; your post to Sergey was beautiful, concise and accurate, and after reading that I quite understood what you have been getting at the whole time. I wish you would write more posts like that. Your shouting about "READ! READ!" on the other hand, is totally useless.