views:

315

answers:

3

I am wondering how to get the last changes in a CVS module easy.

A: 

cvs log will return all of them. Since you can't say "the last N revisions" (here, I can't even say cvs log HEAD), there are two options:

  1. Use head -N the get the N topmost lines (Unix or Cygwin only)

  2. Use a date and cvs log -d DATE

Aaron Digulla
A: 

Since the CVS implementation versions each file individually, I suppose you'd have to through each file and compare the commit timestamps to determine which one is the latest. Combine this with the fact that CVS does not support the concept of a commit set, so you can get a bunch of files with equal commit timestamp. So which one is the latest? Or maybe you could create a commit hook that writes to a log file and use that to determine the latest commit.

As you probably figured out, neither of these is a particularly giving path to choose. I strongly suggest that at the module-level you always compare against tags. Establish a software process that includes tagging the module when an important enough improvement is made (e.g. daily build, deployment to test environment, etc..) and then use the created tag as the comparison baseline.

You can accomplish diffing the latest changes against a tag by using

  • cvs rdiff command without a working copy, or
  • cvs diff command at the top-level of a working copy

See the CVS documentation for complete reference.

psp
A: 

Is there a cvs change unique number associated with the submission set ?

sef