[PATCH] Add built-in cvsps equivalent

Frank Kingswood frank at kingswood-consulting.co.uk
Fri Mar 28 03:06:50 CDT 2008


Dean Roehrich wrote:
> I've played with the stand-alone cvsps.py tool and it looks like it's
> producing results similar to those of cvsps-2.1.  I rarely use cvsps without
> the -b and -r options, so here's my...first attempt at python code to add
> those options.  This is lightly tested, but so far looks like it's giving me
> the results I expect from cvsps-2.1.

The -b and -r options look like they might actually be useful in the 
conversion process itself, allowing the user to convert only part of the 
history. I think I might roll the tag and branch selection into the 
analysis phase.

I prefer to keep the option names the same as cvsps.c. Would you mind if 
I change --tag1 and --tag2 to -r again?

> Now that I have -b and -r, I miss the cache.  As I work through my weekly
> incremental branch updates I can usually take advantage of the cache and get
> 1-minute response times from cvsps-2.1 queries.  I run cvsps-2.1 once per week
> to update the cache--this is one 11-minute hit (16 mins, with cvsps.py) to
> parse nearly 12,000 patchsets in more branches than I care about.

Looking at cvsps.c I find it hard to see how it uses the cache. Clearly 
storing the current state is trivial to do (that's already in cvsps.py 
as -L) but deciding when not to run cvs rlog is a bit more tricky.

Thanks for testing the patch.

Frank


More information about the Mercurial-devel mailing list