From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: What a modern collaboration toolkit looks like Date: Fri, 04 Jan 2008 00:27:46 -0500 Message-ID: References: <20080101171120.GC3830@muc.de> <20080101.190535.32709273.wl@gnu.org> <20080101182742.GE3830@muc.de> <20080101.192802.05328072.wl@gnu.org> <20080102121745.GD17588@thyrsus.com> Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: ger.gmane.org 1199424588 26451 80.91.229.12 (4 Jan 2008 05:29:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 4 Jan 2008 05:29:48 +0000 (UTC) Cc: acm@muc.de, eliz@gnu.org, emacs-devel@gnu.org, esr@snark.thyrsus.com To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 04 06:30:07 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JAf8A-0005No-71 for ged-emacs-devel@m.gmane.org; Fri, 04 Jan 2008 06:30:06 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JAf7n-0000Vz-Q2 for ged-emacs-devel@m.gmane.org; Fri, 04 Jan 2008 00:29:43 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JAf60-0008Li-R8 for emacs-devel@gnu.org; Fri, 04 Jan 2008 00:27:53 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JAf5w-0008Jr-6j for emacs-devel@gnu.org; Fri, 04 Jan 2008 00:27:52 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JAf5v-0008Jh-NA for emacs-devel@gnu.org; Fri, 04 Jan 2008 00:27:47 -0500 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JAf5v-0006sb-HM for emacs-devel@gnu.org; Fri, 04 Jan 2008 00:27:47 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.60) (envelope-from ) id 1JAf5u-0002Aa-Pq; Fri, 04 Jan 2008 00:27:46 -0500 In-reply-to: <20080102121745.GD17588@thyrsus.com> (esr@thyrsus.com) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:86040 Archived-At: In modern DVCSes, a push never blocks. The sequence of changesets you developed is grafted into the repo as a branch attached to the revision you pulled from. If no one else has committed or pushed against that revision, the line of development remains linear. If someone has, you have the analogue of a CVS conflict -- the revision is now a branch point with two histories going forward. Later, someone may do a merge operation that fuses those two branches together again. Thus, "commit-before-merge". I think I understand that now, but it raises other questions. Does this mean there is no concept of "trunk"? When someone who is not normally a participant in the project decides to "download the current sources", which revision does he get? More precisely, what determines which revision he gets? The operation analogous to a CVS commit to the trunk would consist of pushing a new revision and then whatever else is needed to make that revision the new trunk.