From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Multiple checkout copies Date: Wed, 04 Feb 2015 09:55:30 +0100 Message-ID: <87mw4u12f1.fsf@fencepost.gnu.org> References: <874mr29i4z.fsf@Rainer.invalid> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1423040146 3629 80.91.229.3 (4 Feb 2015 08:55:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Feb 2015 08:55:46 +0000 (UTC) Cc: emacs-devel@gnu.org To: Achim Gratz Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 04 09:55:46 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 1YIvkP-00009a-N5 for ged-emacs-devel@m.gmane.org; Wed, 04 Feb 2015 09:55:45 +0100 Original-Received: from localhost ([::1]:35131 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIvkO-0002hn-Ve for ged-emacs-devel@m.gmane.org; Wed, 04 Feb 2015 03:55:44 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47217) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIvkH-0002hb-1c for emacs-devel@gnu.org; Wed, 04 Feb 2015 03:55:41 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIvkC-0006yK-5l for emacs-devel@gnu.org; Wed, 04 Feb 2015 03:55:36 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41345) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIvkC-0006yG-1R for emacs-devel@gnu.org; Wed, 04 Feb 2015 03:55:32 -0500 Original-Received: from localhost ([127.0.0.1]:48520 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIvkB-0004ZF-6X; Wed, 04 Feb 2015 03:55:31 -0500 Original-Received: by lola (Postfix, from userid 1000) id A8C11E04E6; Wed, 4 Feb 2015 09:55:30 +0100 (CET) In-Reply-To: <874mr29i4z.fsf@Rainer.invalid> (Achim Gratz's message of "Wed, 04 Feb 2015 09:48:44 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::e 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:182360 Archived-At: Achim Gratz writes: > Richard Stallman writes: >> > A slightly different version of the above will save disk space by using >> > hard links to files in the original repository: >> > git clone emacs emacs-24 >> > cd emacs-24 >> > git checkout emacs-24 >> >> Thanks. Maybe that is what I want to do. >> >> My idea is to do my editing in the 'emacs' directory, as well as >> pulling updates there. So these points seem like features rather than >> bugs. > > The safest (but a bit more long-winded) way of dealing with simultaneous > work on multiple branches is IMHO this setup (per example doing work on > master and emacs-24): > > $ git clone git://git.savannah.gnu.org/emacs.git --bare emacs.git > $ git clone emacs.git/ emacs-master > $ git clone emacs.git/ emacs-24 > $ cd emacs-24 ; git checkout emacs-24 ; cd .. > > This way there's only a single repository to push upstream from (which > also makes it a bit easier to check what you intend to push). Making > this bare ensures you don't do any other work on this repo. Minus the bare repository (I use my main repository) this is basically what I do when I find I need to work on a different branch temporarily. The difference is that I create my cloned directories on-demand and remove them again once the work has been pushed upstream or integrated wherever it is supposed to go. While it isn't as formal a way to work as having one dedicated bare repository, it is easy to do ad-hoc without prior setup. Yes, ping-ponging changes through the main repository is a bit of a nuisance. -- David Kastrup