From owner-freebsd-current Thu May 23 16:27:12 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA03251 for current-outgoing; Thu, 23 May 1996 16:27:12 -0700 (PDT) Received: from GndRsh.aac.dev.com (GndRsh.aac.dev.com [198.145.92.241]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id QAA03223 for ; Thu, 23 May 1996 16:27:00 -0700 (PDT) Received: (from rgrimes@localhost) by GndRsh.aac.dev.com (8.6.12/8.6.12) id QAA17471; Thu, 23 May 1996 16:25:37 -0700 From: "Rodney W. Grimes" Message-Id: <199605232325.QAA17471@GndRsh.aac.dev.com> Subject: Re: Re(2): CTM & cvs update To: rkw@dataplex.net (Richard Wackerbarth) Date: Thu, 23 May 1996 16:25:37 -0700 (PDT) Cc: phk@critter.tfs.com, wosch@cs.tu-berlin.de, current@FreeBSD.ORG In-Reply-To: from Richard Wackerbarth at "May 23, 96 05:08:19 pm" X-Mailer: ELM [version 2.4ME+ PL11 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > Wolfram Schneider writes: > > > > A full cvs update takes me 1952.43 real 92.37 user 190.84 sys > > > This is slow. Can I use the output from ctm_rmail for a faster > > > update? E.g.: > > > > > > $ ctm_rmail [options] > ctm_output_log_file 2>&1 > > > $ cvs update `egrep ' > .. (src|ports)/' > > | > awk '{print $NF}' | sed 's/,v$//'` > > Poul-Henning Kamp replies: > > > If you make an option to ctm_rmail to do it, I'll review and approve even if > you write it in COBOL :-) > > Please don't add more bloat to ctm_rmail. His solution seems fine and in the > Unix tradition. > > As I read his message, he simply wants to know if it would work. No, it would not for 3 reasons: a) Addition of directories to the cvs repository would not exist in the checked out tree so the ``cvs update pathname'' would fail. b) Removal of files/directories from the cvs tree cause the files to go into Attic subdirectories, the above would serious fail there (some massaging and adding the -P option to the cvs udpate command could fix this). c) Other problems I haven't though of yet. This is not to say that the desired results could not be obtained, but it is a fair bit more complex than the above 1 line script. I don't run ctm, but here is a better filter to replace the above ``awk '{print $NF}' with (this is written for sup -v >&logfile): /\/Attic\// { next; } /CVSROOT\// { next; } /^SUP Receiving file / { print $NF; } /^SUP Deleted file / { print $NF; } Then a little massaging with sed to rip off the filename components and a pass through sort -u to get down to just the directories you need to update, and finally a script that checks how far down a hierachy it can cd before running a cvs update -P and you have your desired results. -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD