info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new feature.


From: Todd Denniston
Subject: Re: new feature.
Date: Mon, 24 Mar 2003 19:20:38 -0500

Shankar Unni wrote:
> 
<SNIP>
> (b) Interesting idea, but why do you want to avoid tagging everything?
> 
> The general recommended CVS usage model is that the repository be
> considered a whole entity. Thus, you tag the entire repository the way
> it should be for a particular release, whether it be a full release, or
> a partial delta.
> 
> Extra tags on files cost almost nothing, and by properly maintaining
> your tags, you can re-generate your deltas trivially using "cvs diff
> -rtag1 -rtag2", which will generate no output for files that have not
> changed between tag1 and tag2.
> 
> Is this something you're already doing with another revision control
> system? I can't think of any commonly used revision control system that
> does the sort of thing you're asking - at least, not ClearCase or
> Perforce, which are the other two I've used extensively.
<SNIP>

while I agree with Shankar, that for most situations having the whole
repository tagged is the best method and for your situation I think it is
correct, I have found a use for tagging just some files.

When working with a mess of scripts used for testing a product, I found that I
had several 'engineers debug' scripts which needed controlled and could
eventually be used for THE test, but for each formal test it was decided that
only the scripts called out formally in the test description were to be
available to the testers (this removes the management worry that they are
running the "just make it work backdoor" scripts).

I found that if I had a file with a list of the filenames (one per line) used
in the formal test I could do a variation on the following (in bash):

BASE_SCRIPTS_DIR=path_to_checked_out_baseline
TAGNAME=My_Formal_tag

tagsome()
{
  read INPUTLINE
  while [[ "$INPUTLINE" != "EOF" ]]
  do
    #the following should tag each file individually so we only tag those we 
    #want to.
    (cd $BASE_SCRIPTS_DIR/scripts;cvs tag -l $TAGNAME $INPUTLINE)
    read INPUTLINE
  done
}

tagsome < list_of_the_filenames.txt

#the following would retrieve only the files that had the 
#tag applied to them.
#I do not know if this is a 'known feature' of cvs, so it 
#may change in the future.:)
cvs checkout -r$TAGNAME scripts

Note: how you get list_of_the_filenames.txt is your problem, I had to do
several contortions of `strings ?.doc|grep patterns|awk|perl_script` (Yes you
can program when you are just the CM person :)

> 
> > -----Original Message-----
> > From: Marc Tessier [mailto:address@hidden
> > Sent: Monday, March 24, 2003 3:13 PM
> > To: Shankar Unni
> > Subject: RE: new feature.
> >
<SNIP>
> > Some people work with CVS by tagging all the files but in my
> > case I just want to work with delta. I do not need to resend
> > to my people all files  just need to send them delta so my
> > packages are small all the time.
<SNIP>
-- 
______________________________________________________________________________
Todd Denniston, Code 6067, NSWC Crane mailto:address@hidden
I'd crawl over an acre of 'Visual This++' and 'Integrated Development
That' to get to gcc, Emacs, and gdb.  Thank you.
        -- Vance Petree, Virginia Power




reply via email to

[Prev in Thread] Current Thread [Next in Thread]