info-cvs
[Top][All Lists]
Advanced

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

A couple of features in RCS that CVS lacks... why?


From: Josh Baudhuin
Subject: A couple of features in RCS that CVS lacks... why?
Date: Fri, 27 Jul 2001 13:48:25 -0700

There are a couple of things in RCS that CVS doesn't have any longer (i.e., 
since cvs-1.10) that I find a little odd and vexing.

First off, I'd expect that the  update  and  commit  command would have 
co(1)/ci(1)'s  -s<state>  option to allow you to pull the latest rev of a 
certain state. In fact, the documentation for the  admin  command, which allows 
you to _set_ the state of a revision after the fact, reads:

`-sSTATE[:REV]'
     Useful with CVS.  Set the state attribute of the revision REV to
     STATE.  If REV is a branch number, assume the latest revision on
     that branch.  If REV is omitted, assume the latest revision on the
     default branch.  Any identifier is acceptable for STATE.  A useful
     set of states is `Exp' (for experimental), `Stab' (for stable),
     and `Rel' (for released).  By default, the state of a new revision
     is set to `Exp' when it is created.  The state is visible in the
     output from CVS LOG (*note log::), and in the `$Log$' and
     `$State$' keywords (*note Keyword substitution::).  Note that CVS
     uses the `dead' state for its own purposes; to take a file to or
     from the `dead' state use commands like `cvs remove' and `cvs
     add', not `cvs admin -s'.

I would say that it's NOT really "useful with CVS" unless commit and update 
allow you to specify state.

The second thing is that  commit  loses ci(1)'s  -T  option, which makes sure 
the archive file has the same timestamp as the working copy being commited. As 
the ci(1) documentation states:

                . . . [Not having -T] can cause excessive  recom-
          pilation  caused by a make(1) dependency of the working
          file on the RCS file. . . .

Yes indeed. Our previous VCS scripts wrapped around RCS and used -T as a matter 
of course. Now that it's no longer available, we have to put up with the agony 
of unnecessary rebuilding after commit--this can be particularly onerous if 
you're checking in a key .h file, since you've already done a heinous rebuild 
and now you have to go and do it again.

Any comments? Known workarounds?

____________________________
Josh Baudhuin
Cadence Design Systems, Inc.
<insert standard disclaimer here>




reply via email to

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