From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9620 invoked by alias); 21 Sep 2002 00:45:30 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 9613 invoked from network); 21 Sep 2002 00:45:29 -0000 Received: from unknown (HELO mail.cdt.org) (206.112.85.61) by sources.redhat.com with SMTP; 21 Sep 2002 00:45:29 -0000 Received: from dberlin.org (pool-138-88-150-10.esr.east.verizon.net [138.88.150.10]) by mail.cdt.org (Postfix) with ESMTP id 25B0849002D; Fri, 20 Sep 2002 20:22:44 -0400 (EDT) Received: from [192.168.0.252] (account dberlin HELO dberlin.org) by dberlin.org (CommuniGate Pro SMTP 4.0b8) with ESMTP id 90091; Fri, 20 Sep 2002 20:45:28 -0400 Date: Fri, 20 Sep 2002 17:45:00 -0000 Subject: Re: branching Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v546) Cc: Keith Seitz , Kevin Buettner , gdb@sources.redhat.com To: Andrew Cagney From: Daniel Berlin In-Reply-To: <3D8BBAD3.3020900@ges.redhat.com> Message-Id: <6DDF5AF4-CCFB-11D6-9FF7-000393575BCC@dberlin.org> Content-Transfer-Encoding: 7bit X-SW-Source: 2002-09/txt/msg00334.txt.bz2 On Friday, September 20, 2002, at 08:18 PM, Andrew Cagney wrote: >> In fact, if you really want to be advanced, and not deal with the >> slowdown on merged files that haven't been modified by you on the >> branch, but have been on the merge (This is hard to explain. If you >> merge from the head, and commit the result, it makes a new revision >> in the file, even if you haven't made changes on the branch. This >> eventually makes accessing the branch *quite* slow), you can just >> move the branch tags on the files you haven't modified on the branch, >> so that they refer to the new mainline revision. >> Sounds more difficult complex than it is. > > You don't happen to have a script? (Yes, for long lived branches > things do start to get slow). The other option is to fix CVS I guess. cvslines can do it (http://cvslines.sourceforge.net). Looking at the perl, it does it like so: sub branchtag { my ($file, $spec, $rev) = @_; print TTYO "$Myname: set branch tag \"$spec\" to revision $rev...\n"; &do_system("cvs tag -F -r $rev -b $spec $file"); } .... print TTYO "$Myname: first, spoof cvs with a branch tag update...\n"; &branchtag($file, $branchtag, $rootrev); print TTYO "$Myname: next, spoof the cvs up-to-date check...\n"; &do_system("cvs update $file"); # required for inane up-to-date-check > > Andrew > >