[Top][All Lists]

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

Re: request for log option to specifically exclude the first tag, workar

From: Paul Sander
Subject: Re: request for log option to specifically exclude the first tag, workaround for cvs log -r -r
Date: Mon, 7 Jan 2002 19:48:24 -0800

Have you looked at rinfo?  It does what you ask, for a single RCS file.
You'd have wrap it in a script that traverses your repository to see all
changes in your project.  You could also combine it with lmerge to produce
more concise reports.

Both of these programs are available at

--- Forwarded mail from address@hidden

I think this topic has not been given enough discussion, namely the problem
that it is *impossible* through using standard CVS commands to get the log
messages _taking_ one from a tag to another tag. This thread got dropped a
while ago by people quietly whispering "oh well, it can't be done" and
others saying "well it does work, read the newsgroup" without trying it. All
of the log -rR1::R2 -rR2 etc. style methods all fail in at least some cases,
especially when there has been no change to a file over two tags, so a
revision number is tagged with both tags (try it!)

I think if anything, this is a feature which deserves to be added to the new
dev version, as opposed to emacs support or what have you... I was amazed it
hasn't been come across before.

Anyway, enough rant, I think I may have found a pragmatic workaround that
recent discussions about dates inspired me on: find the dates of the two
logs, and then do a cvs log from just after the last committed date/time of
the first tag, and up to and including the date/time of the last file
containing the second tag. But that won't be sufficient if you're using
branching -- you'll then need to ensure that you're only getting log
messages from the branch containing both tags. I haven't implemented it yet,
but ... agh!

i think this would be how it works (not tested):
run perl/python script to get dates of both tags
find maxs/mins
and feed these into:
cvs log -d"DATE1<DATE2" -rBRANCH

The alternative to allow people to reliably answer the question "what does
the new version contain?" is to include a -r-TAG1 option to _exclude_ any
revisions containing TAG1. This means that the following:

cvs log -rTAG1::TAG2 -r-TAG1

would actually give the log messages between the two tags
(provided -rTAG1::TAG2 includes all changes including the endpoints).

actually, i would even like something like:

cvs log -rTAG1=>TAG2

since it would be used pretty commonly -- shame -rTAG1::TAG2 doesn't do what
people would expect it to do.

--- End of forwarded message from address@hidden

reply via email to

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