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: git commit/push and VC Date: Fri, 21 Nov 2014 11:01:29 +0200 Message-ID: <83oas13p1y.fsf@gnu.org> References: <871toysqyq.fsf@rosalinde.fritz.box> <838uj57u5b.fsf@gnu.org> <87ppchd9dk.fsf@Gertrud.fritz.box> <83fvdd612c.fsf@gnu.org> <87h9xttmwa.fsf@uwakimon.sk.tsukuba.ac.jp> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1416560520 26981 80.91.229.3 (21 Nov 2014 09:02:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 21 Nov 2014 09:02:00 +0000 (UTC) Cc: Stromeko@nexgo.de, emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 21 10:01:50 2014 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 1Xrk69-0002he-Vq for ged-emacs-devel@m.gmane.org; Fri, 21 Nov 2014 10:01:50 +0100 Original-Received: from localhost ([::1]:39278 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrk69-0006Ui-Dm for ged-emacs-devel@m.gmane.org; Fri, 21 Nov 2014 04:01:49 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrk60-0006UP-7u for emacs-devel@gnu.org; Fri, 21 Nov 2014 04:01:44 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xrk5t-0002Tw-WE for emacs-devel@gnu.org; Fri, 21 Nov 2014 04:01:40 -0500 Original-Received: from mtaout27.012.net.il ([80.179.55.183]:49056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrk5t-0002TY-Jz for emacs-devel@gnu.org; Fri, 21 Nov 2014 04:01:33 -0500 Original-Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il (HyperSendmail v2007.08) id <0NFD00000SRBRX00@mtaout27.012.net.il> for emacs-devel@gnu.org; Fri, 21 Nov 2014 10:56:54 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout27.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NFD00J3HSUUWX60@mtaout27.012.net.il>; Fri, 21 Nov 2014 10:56:54 +0200 (IST) In-reply-to: <87h9xttmwa.fsf@uwakimon.sk.tsukuba.ac.jp> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.183 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:177922 Archived-At: > From: "Stephen J. Turnbull" > Date: Fri, 21 Nov 2014 09:31:17 +0900 > Cc: Achim Gratz , emacs-devel@gnu.org > > > But that's me, and I already know how to solve this. I'm asking what, > > if anything, do we want to recommend. > > I would say either go with *your* gut feeling, or if you prefer, > somebody else you trust. ;-) I don't yet trust my gut feeling with Git, except with features I myself have enough experience with. This particular one is not among them, as all the other projects where I gained my Git experience don't present problems with several branches in the same tree. > 1) single clone, multiple out-of-tree build directories (this is what > I use). Disadvantages: IIRC Emacs uses the same "link lisp/ -> > $srcdir/lisp" strategy that XEmacs does, so bootstrap takes a long > time, and the first make after switching is likely to take a long > time even if you don't bootstrap (because checked-out files all > appear to have been touched). There will be several emacs binaries > associated with the clone, so there is potential for confusion > between the running Emacs and the checked-out version. > > 2) single clone, in-tree build. Disadvantages: as (1), but even more > so, except that it's easier to keep emacs in synch with the sources > as there's only one binary in existence. > > 3) multiple clones, build per clone (I don't think it much matters > whether it is in-tree or not, and people who use out-of-tree builds > probably have other reasons for doing that already, and they'll > know what they are doing). Disadvantages: one of the clones will > be used for "stable" -> trunk merges and reverse cherry-picking, > and you need to keep track of which one. You also need a lot more > VCS operations to keep them in synch. > > 4) single repo, multiple workspaces (use GITDIR variable, for > example). Disadvantages: not well-supported by git AFAIK, so the > user has to keep track of the global branch. > > Maybe you shouldn't mention (4). I tend to recommend 3), but I don't understand the disadvantages; can you elaborate? I thought it was possible to merge between clones, are you saying that's not a good idea?