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: git commit/push and VC Date: Fri, 21 Nov 2014 09:31:17 +0900 Message-ID: <87h9xttmwa.fsf@uwakimon.sk.tsukuba.ac.jp> References: <871toysqyq.fsf@rosalinde.fritz.box> <838uj57u5b.fsf@gnu.org> <87ppchd9dk.fsf@Gertrud.fritz.box> <83fvdd612c.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 1416529941 1907 80.91.229.3 (21 Nov 2014 00:32:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 21 Nov 2014 00:32:21 +0000 (UTC) Cc: Achim Gratz , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 21 01:32:10 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 1Xrc8s-0006BO-GC for ged-emacs-devel@m.gmane.org; Fri, 21 Nov 2014 01:32:06 +0100 Original-Received: from localhost ([::1]:37949 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrc8s-0003eT-3B for ged-emacs-devel@m.gmane.org; Thu, 20 Nov 2014 19:32:06 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39874) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrc8Z-0003eK-38 for emacs-devel@gnu.org; Thu, 20 Nov 2014 19:31:54 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xrc8R-00021q-JR for emacs-devel@gnu.org; Thu, 20 Nov 2014 19:31:47 -0500 Original-Received: from shako.sk.tsukuba.ac.jp ([130.158.97.161]:35741) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrc8J-0001wi-2t; Thu, 20 Nov 2014 19:31:31 -0500 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 B88591C396F; Fri, 21 Nov 2014 09:31:17 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id A22DF1A2844; Fri, 21 Nov 2014 09:31:17 +0900 (JST) In-Reply-To: <83fvdd612c.fsf@gnu.org> X-Mailer: VM undefined under 21.5 (beta34) "kale" acf1c26e3019 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:177902 Archived-At: Eli Zaretskii writes: > > > . do we want to explicitly recommend 2 different clones, one each > > > for master and the release branch? there's nothing in the > > > instructions about this, or about working with 2 divergent > > > branches in general > > Unless you're really working all the time in parallel on both branches > > I'd say this setup is more trouble than it's worth. > I personally am working on both branches in parallel, yes. Many > others do, too. Bugfixes go to one branch, new features to the other, > people report bugs on this or other, etc. Bootstrapping each time, > which takes a couple of minutes, is annoying. And then you sometimes > want to compare what the two binaries, one from master, the other from > the release branch, do in the same situation. > > 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. ;-) You could also present several scenarios with expected issues (people can probably judge the merits for themselves, but the downside of messing up a personal repo is quite large). I can think of the following: 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). Steve