From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24037 invoked by alias); 29 Oct 2007 15:03:02 -0000 Received: (qmail 24026 invoked by uid 22791); 29 Oct 2007 15:03:01 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 29 Oct 2007 15:02:56 +0000 Received: (qmail 8300 invoked from network); 29 Oct 2007 15:02:54 -0000 Received: from unknown (HELO localhost) (jimb@127.0.0.2) by mail.codesourcery.com with ESMTPA; 29 Oct 2007 15:02:54 -0000 To: Vladimir Prus Cc: gdb-patches@sources.redhat.com Subject: Re: Managing long patch series References: From: Jim Blandy Date: Mon, 29 Oct 2007 15:15:00 -0000 In-Reply-To: (Vladimir Prus's message of "Sat, 27 Oct 2007 10:28:55 +0400") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-10/txt/msg00754.txt.bz2 Vladimir Prus writes: > I was using SVK for that. I have //patches/patch1/ ... //patches/patchN > then if I modify patchX I use svk smerge to update all later patches. > When mainline changes, I smerge from mainline mirrors to patch1 and then > smerge between (1->2, 2->3, N-1->N). > The only gotcha I found is that you should always apply mainline changes > to the first patch and then propagate it via the chain. If you try > to apply mainline changes to a patch in the middle, SVK mergeinfo > representation may fall appart, and given you random conflicts in > fugure. Okay, that's interesting. I think I can see how this would be done in Mercurial, too. I'd done something equivalent to merging into the middle of the chain with the tracepoint patches; I guess I'll learn soon enough whether its metadata representation disintegrates. :) Tom Tromey referred me to Mercurial Queues, which looks really good: http://hgbook.red-bean.com/hgbookch12.html The reason I'm so fond of Mercurial is partially that it's quite fast. You can jump from one place to another easily. I have a tree which is simultaneously a CVS checkout and a Mercurial repository, that I use as a gateway between the two; I say, essentially: cvs update hg addremove hg commit -m 'from public CVS' from time to time, and then I can pull those changesets into whatever other working copies I have. My .hgignore file tells Mercurial to ignore the 'CVS' subdirectories, and I just ignore the '?' markers from CVS for '.hg' and '.hgignore'. It has all worked nicely so far. It sounds like you're doing something similar with SVK --- unless you're pushing/pulling from CodeSourcery's internal SVK repository.