info-cvs
[Top][All Lists]
Advanced

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

request for log option to specifically exclude the first tag, workaround


From: Matthew Herrmann
Subject: request for log option to specifically exclude the first tag, workaround for cvs log -r -r
Date: Tue, 8 Jan 2002 10:36:43 +1100

Hi all,

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.

Regards,

Matthew Herrmann
--------------------------------------
Far Edge Technology
Level 11, 80 Mount St
North Sydney NSW 2060
Australia

Ph: 02 9955 3640
Mob: 0404 852 537




reply via email to

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