Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 1996 16:25:37 -0700 (PDT)
From:      "Rodney W. Grimes" <rgrimes@GndRsh.aac.dev.com>
To:        rkw@dataplex.net (Richard Wackerbarth)
Cc:        phk@critter.tfs.com, wosch@cs.tu-berlin.de, current@FreeBSD.ORG
Subject:   Re: Re(2): CTM & cvs update
Message-ID:  <199605232325.QAA17471@GndRsh.aac.dev.com>
In-Reply-To: <n1379251172.91030@Richard Wackerbarth> from Richard Wackerbarth at "May 23, 96 05:08:19 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> 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)/' <ctm_output_log_file> > >    |
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605232325.QAA17471>