Received: from spf1.us4.outblaze.com (spf1.us4.outblaze.com [205.158.62.23]) by sdf.lonestar.org (8.12.10/8.12.10) with ESMTP id j0C699YS015409 for ; Wed, 12 Jan 2005 06:09:09 GMT Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by spf1.us4.outblaze.com (Postfix) with ESMTP id 15D152983DE for ; Wed, 12 Jan 2005 06:09:26 +0000 (GMT) Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cobsi-0005aU-2G for migo@homemail.com; Wed, 12 Jan 2005 01:21:24 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Cobqv-000587-Vp for gnu-arch-users@gnu.org; Wed, 12 Jan 2005 01:19:34 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Cobqk-00054V-1j for gnu-arch-users@gnu.org; Wed, 12 Jan 2005 01:19:22 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cobqj-00051X-MZ for gnu-arch-users@gnu.org; Wed, 12 Jan 2005 01:19:21 -0500 Received: from [128.255.17.47] (helo=server07.icaen.uiowa.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CobQ7-0007ba-FO for gnu-arch-users@gnu.org; Wed, 12 Jan 2005 00:51:51 -0500 Received: from server11.icaen.uiowa.edu (server11.icaen.uiowa.edu [128.255.17.51]) by server07.icaen.uiowa.edu (8.13.2/8.12.9) with ESMTP id j0C5pmSG010889; (envelope-from ) Tue, 11 Jan 2005 23:51:49 -0600 (CST) Received: from [192.168.1.12] (12-217-241-0.client.mchsi.com [12.217.241.0]) (authenticated user=jfmeinel) by server11.icaen.uiowa.edu (8.13.2/smtp-serv-1.7) with ESMTP id j0C5pljd018400 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256); (envelope-from ) Tue, 11 Jan 2005 23:51:48 -0600 (CST) Message-ID: <41E4BAF3.2020000@arbash-meinel.com> Date: Tue, 11 Jan 2005 23:51:47 -0600 From: John Arbash Meinel User-Agent: Mozilla Thunderbird 1.0 (Macintosh/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Robert Anderson Subject: Re: [Gnu-arch-users] branch accounting/status tool References: In-Reply-To: X-Enigmail-Version: 0.89.6.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.80/640/Thu Dec 23 12:48:27 2004 clamav-milter version 0.80j on clamav.icaen.uiowa.edu X-Virus-Scanned: ClamAV 0.80/655/Fri Jan 7 07:54:13 2005, clamav-milter version 0.75 on clamav.icaen.uiowa.edu X-Virus-Status: Clean X-Virus-Status: Clean Cc: gnu-arch-users@gnu.org X-BeenThere: gnu-arch-users@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: a discussion list for all things arch-ish List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: gnu-arch-users-bounces+migo=homemail.com@gnu.org Errors-To: gnu-arch-users-bounces+migo=homemail.com@gnu.org Status: RO Content-Length: 3232 Lines: 85 Robert Anderson wrote: >I think a branch accounting tool that does the following would be >useful: > >You specify a version, and it recursively goes through all of >your archives, and finds all versions which were branched from >it. For each branch, it figures out if: > > > This seems interesting, but honestly it seems like to be really useful, you need to cross archives somehow. Because many times what you care about is other people's work. I'm not really sure how to make it all work. Possibly just having a config file stating what archives to look it (maybe what branches to care about). >1) There are missing patches from the parent >2) There are un-merged patches in the child >3) In each case 1&2, if a star-merge will result in conflicts in >either direction > >It would give a summary listing that looks something like this: > >proj--main--0 > ><- -> proj--user--0 (missing and unmerged patches, no conflicts) > C> proj--blah1--0 (missing patches which conflict) > proj--fixit--0 (fully up-to-date branch) > -> proj--fixit-a--0 > <- proj--whoops--0 > >etc. You can quibble about the presentation, but I think the >basic idea is a good one. > > If you are reporting conflicts, it would seem that you need to actually create temporary directories, and try to apply the patches, etc. So this tool would probably be pretty slow. I don't know if this matters for your usage. >I never really looked into sealed versions, but maybe that's the >way to handle branches that you want to consider "closed," which >would only get listed with an option. > >The ease with which branches can be made also carries with it >significant responsibility in keeping them all straight, >up-to-date, and dealing with potential conflicts sooner rather >than later when it can get out of hand. Going through this >manually is a real chore. A one-step command for "here is your >branch hierarchy, here is the general status of what is up to >date with what, and here are the places where you're already >looking at conflicts, so you better get a handle on those right >away" seems like a must-have. > >Bob > > I've been playing with some scripts for generating the hierarchy tree including showing merged patches, etc. I'm using graphviz to generate an image, but it really doesn't scale to a lot of patches very well. (lots being 100s). Right now it actually works by importing all the patch info into a database, and then querying it to build the tree. The database stuff wasn't too difficult, and it makes the rest pretty quick. Actually, when I was filling it out, I found that it was horribly slow to try and use tla to download each patch-log on it's own, because of all the round-trips. Anyway, if you do create a database, you could also keep track of what patches conflict, which could help the speed of the system. But that might just be an optimization to add later. John =:-> _______________________________________________ Gnu-arch-users mailing list Gnu-arch-users@gnu.org http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/