From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Switching to bzr: what Emacs developers should know? Date: Thu, 13 Aug 2009 12:21:42 -0400 Message-ID: References: <874osi6zpe.fsf@bzg.ath.cx> <28c656e20908081151h55a4b566v4cfc7c49c5ca2a37@mail.gmail.com> <87ab26aoix.fsf@canonical.com> <87fxbyb3s5.fsf@notengoamigos.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1250181503 2475 80.91.229.12 (13 Aug 2009 16:38:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 13 Aug 2009 16:38:23 +0000 (UTC) Cc: Bastien , Karl Fogel , B Smith-Mannschott , emacs-devel@gnu.org To: Jason Earl Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 13 18:38:15 2009 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 1MbdJe-00046w-A2 for ged-emacs-devel@m.gmane.org; Thu, 13 Aug 2009 18:38:14 +0200 Original-Received: from localhost ([127.0.0.1]:45902 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MbdJd-000356-LG for ged-emacs-devel@m.gmane.org; Thu, 13 Aug 2009 12:38:13 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mbd3t-0006nn-5v for emacs-devel@gnu.org; Thu, 13 Aug 2009 12:21:57 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mbd3o-0006m1-9W for emacs-devel@gnu.org; Thu, 13 Aug 2009 12:21:56 -0400 Original-Received: from [199.232.76.173] (port=55992 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mbd3o-0006ls-2N for emacs-devel@gnu.org; Thu, 13 Aug 2009 12:21:52 -0400 Original-Received: from pruche.dit.umontreal.ca ([132.204.246.22]:56624) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mbd3n-0004Gh-UZ for emacs-devel@gnu.org; Thu, 13 Aug 2009 12:21:52 -0400 Original-Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id n7DGLgTU015895; Thu, 13 Aug 2009 12:21:42 -0400 Original-Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 1A5299015C; Thu, 13 Aug 2009 12:21:42 -0400 (EDT) In-Reply-To: <87fxbyb3s5.fsf@notengoamigos.org> (Jason Earl's message of "Tue, 11 Aug 2009 12:31:54 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV3340=0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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:114183 Archived-At: > I've been doing a bit of testing, and bzr can definitely facilitate this > sort of thing. In fact, you can set up a test by simply branching from > an Emacs bzr repository and then using bzr mv and friends to put > everything where Gnus expects it to be. bzr will then happily keep > things up to date even though the files are in different locations. Yes. But this still has 2 problems: - as you noted, this loses Gnus's CVS history. Maybe there's a way to fix it, or do something at least sufficient (e.g. keep the history in a completely separate branch). All that's really needed to "do it right" would be for the CVS->Bzr conversion to be able to take "file->id" tables from one branch and apply it to the other. - The above will happily deal with one way synchronization (i.e. future commits to the Emacs branch will be easy to merge into the Gnus branch), but I still don't know how to do the other sync (merge changes made on the Gnus branch onto the Emacs branch). I've asked a similar question on the Bzr list and was mostly greeted with silence. I find it odd: such parallel branches are a pretty common occurrence, in my experience, so while I understand that it might not be easy/trivial to handle it, I'd expect at least some interest in trying to come up with ways to support it. Maybe there's a way to do it in Bzr, but I haven't found it yet. Note that most other VCS are just as poor at it. Arch is a bit better (mostly because you can straightforwardly fiddle with the merge-history), and DaRCS is positively good at it. >> This same problem appears with several other packages that are >> maintained outside Emacs, tho Gnus is the only one to currently >> benefit from a really nice solution. So a good solution to this >> problem would be useful for more than just Gnus. > For packages maintained outside of Emacs that don't currently have a > solution to this problem bzr is likely to be a huge step in the right > direction. With the right plugin you might even be able to keep using > git (or hg) for your own hacking and then use bzr to merge with Emacs. I have no doubt that Bzr will make such things easier than CVS. The two-way thingy done with Arch for Gnus is just a special treat that requires extra manual fiddling. Big thanks to Miles for that. Stefan