[wellylug] CVS woe

Daniel Pittman daniel at rimspace.net
Fri Apr 3 02:17:34 NZDT 2009


Jethro Carr <jethro.carr at jethrocarr.com> writes:

> CVS is driving me crazy (again).... I've spent 1.5 hours trying to
> figure out how to make it do something that should take less than 10
> seconds!!!

To paraphrase...

First, you have a problem that needs revision control.
"Ah!", you think, "I will use CVS."  Now you have two problems...

> All I want to do, is to get a list of commit messages since a
> particular tag, so I can use it for a changelog, or just simply so I
> have an idea of the changes I've made and why when I create a diff.
>
> Now I've tried using:
> cvs rlog -r MYTAG::
>
> But that doesn't seem to work, I just end up with a list of all
> changes ever committed since the repository start.

Mmmm.  The '-r' option to rlog only supports branches or revision
numbers, as you note...

> I think the -r option for rlog refers to the file revision, not a tag,
> if I'm reading the man pages correctly, but I can't find any method to
> specify fetching log by a tag.

Correct.  Presumably because that is insanely hard, is it would involve
trolling every file for the revision that tag is associated with, then
generate the log from that.

> There are some 3rd party scripts floating around that can do it, but
> I'm sure there must be some way in CVS itself to make it happen...

Nope.  Hard luck.  Try using something other than tags (or CVS. ;)


Actually, in the spirit of charity, the best approach is:

1. Use log or rlog on a single file to identify the time and date of the
   tag.  Something early in the tagging process is a good plan.

2. Use the '-D' argument to log or rlog to obtain all changes since that
   point in time, since this is supported by CVS.

Don't forget to allow enough slop in there to catch the fact that CVS
tags the current time it processed the file, not of the operation, into
the individual files.

[...]

> I'm heading off to bed before I toss my screen through the window in
> frustration - hopefully someone here can help me, to save the life of
> an innocent computer. :-)

Um, converting CVS to SVN is really not terribly hard, and will
significantly improve your life.  Certainly it is a fairly trivial step
away from CVS, but a significantly less limited and painful one.

Regards,
        Daniel



More information about the wellylug mailing list