From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: VC mode and git Date: Fri, 03 Apr 2015 10:12:58 +0300 Message-ID: <83wq1tptvp.fsf@gnu.org> 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> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1428045203 23919 80.91.229.3 (3 Apr 2015 07:13:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 3 Apr 2015 07:13:23 +0000 (UTC) Cc: sorganov@gmail.com, emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 03 09:13:14 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 1Ydvmz-0007nW-8W for ged-emacs-devel@m.gmane.org; Fri, 03 Apr 2015 09:13:13 +0200 Original-Received: from localhost ([::1]:32844 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ydvmy-0007e1-8b for ged-emacs-devel@m.gmane.org; Fri, 03 Apr 2015 03:13:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39272) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ydvmv-0007d8-4s for emacs-devel@gnu.org; Fri, 03 Apr 2015 03:13:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ydvmr-0000NN-Se for emacs-devel@gnu.org; Fri, 03 Apr 2015 03:13:09 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:55736) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ydvmr-0000NB-KA for emacs-devel@gnu.org; Fri, 03 Apr 2015 03:13:05 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NM700D00YMEHT00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Fri, 03 Apr 2015 10:13:04 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NM700DX1YPQFR10@a-mtaout20.012.net.il>; Fri, 03 Apr 2015 10:13:03 +0300 (IDT) In-reply-to: <87384ii26v.fsf@uwakimon.sk.tsukuba.ac.jp> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 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:184811 Archived-At: > From: "Stephen J. Turnbull" > Cc: Sergey Organov , > emacs-devel@gnu.org > Date: Fri, 03 Apr 2015 07:40:40 +0900 > > Eli Zaretskii writes: > > > From: Sergey Organov > > > > Each commit has zero or more pointers to parents, usually 1. Merge > > > commit is commit that has more pointers to parents than 1 (usually 2). > > > That's all about the meta-data. Simple, eh? > > > > And that meta-data needs to be brought in as part of the merge, in > > addition to changes to the tree. > > No. That's an important difference between git and other DVCSes. > "git merge" does a 3-way merge in a tree that corresponds to a > previously committed state, and sets up some (hidden) metadata that > help automate the following multi-parent commit. Optionally it will > initiate that commit. > > The meta-data must already be present in the repo pointed to by the > workspace, brought in by a fetch. Because it's a very common > operation, especially in synchronizing mirror repos, git pull will > automatically fetch and merge. Perhaps that what you think about it. I know all of the above, and I don't see where it contradicts what I wrote. The original issue was a claim that a merge (as an operation) is "just a commit", and I said it's more than that. > > You can call all of this a "commit", but then you probably mean > > "commit object", a different beast. Using confusing shorts in this > > discussion doesn't help understanding. > > In discussing git, claiming that "commit" is anything other than a > verb that means "to create a commit object" is what confuses > understanding. You will confuse those who are familiar with git and > give incorrect ideas to those who aren't. If you have a different > concept of what a commit "should be", you need to explain that, and > what sequence of git operations correspond to that concept. My terminology follows the Git glossary man page, which I think doesn't agree with the above, at least not 100%. E.g., "commit", neither as a noun nor as a verb, is not described there as "creating a commit object".