[Top][All Lists]

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

Re: changes between tags

From: Michael Kohne
Subject: Re: changes between tags
Date: Mon, 1 Mar 2004 10:28:37 -0500 (EST)

Florian Pachaly said:
> is there any easy way to get all changes made in a whole module between
> two tags?

I'm not going to call this 'easy', but it's a script I wrote to grab a
list of change sets between a tag and a checked-out sandbox (so to compare
tags, check out the one, and compare to the other).

Notes: It doesn't do well with branches, and I it doesn't notice removed
files. Also, it's bloody slow, and a serious memory pig, as it ends up
reading in the entire CVS logs for the entire module. On the plus side, it
outputs 'change sets', which I defined as 'all changed checked in by the
same person, with the same comment, at exactly the same time'.

Another useful thing is that when it gets confused (by branches, etc) it
just lists the files it is confused about at the end, instead of printing
bad data.

I use it once every few months when prepping release notes, which is why
it isn't better.

Let me know when you find something better - this is good enough for my
immediate needs, but ultimately, I'd like to have (or write) a better

Points for work to be done:
1) The nicer way to do this would be to give this tool the two tags and
the  name of the module, then have it do all necessary checkouts, etc.
This would further slow things down, however.

2) One good optimization would be to have this tool initially grab the
'tag list' from the front of the cvs log info, then just get the log data
for relevant versions. That would reduce the amount of data kept, thus
reducing the memory piggishness of this thing.

3) right now it makes lots of calls to CVS. Reducing that to a smaller
number of calls, which get more data all at once would be a good thing.

Good luck!

Michael Kohne        address@hidden
"You should be smarter than the equipment you are trying to operate." --
Matt Osborne

reply via email to

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