[cvsnt] Re: Checkout tag extremely slow

jml at nykredit.dk jml at nykredit.dk
Thu Dec 9 23:34:02 GMT 2004

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.

I've made some experiments based on your guess, and I can confirm that the 
problem has to do with the val-tags file, but moreso with the scanning of 
the repository. 

This is what I did:

"CVS co -r sometag mymodule"

If "sometag" does not exist, CVS 2.0.51d will scan the entire repository, 
while CVS 2.0.4 will scan only the actual module (mymodule) - which I 
think is reasonable.
If "sometag" does exist, but are for some reason NOT in the val-tags file 
the same thing happens.
If "sometag" does exist and IS in the val-tags file all is well of course.

The entire-repository-scans is extremely time and CPU consuming, if you 
have a large repository (and we do!), and the scan will happen everytime 
your miss-spell a tag-name. Even with a small repository of - say - less 
than 10,000 files, the scan will take minutes.

The problem is present in 2.0.58d also, and it has caused us to make a 
fall-back to CVS version 2.0.4.

I suggest your treat this as a bug - I think CVS should scan only the 
indicated module, and not the entire repository, since - logically - there 
is no chance of a match in any other module than the one you indicate in 
the checkout command.

Joergen Moeller Larsen

jml at nykredit.dk wrote:
> Hi,
> I recently upgraded our CVS server from version 2.0.4 to version 
> After the upgrade it has become _extremely_ slow to checkout tags from
> CVS.  I am talking hours in worst case. Checking out HEAD does not 
> from this problem. I have tried version 2.0.58d as well with same 
> Reverting to version 2.0.4 restores normal performance.
> Any suggestions?

My best guess would be that the server can't read the val-tags file for
some reason.  If it can't read that it has to scan the whole repository
to find out if the tag is valid (I'm convinced this could be made faster
but the logic makes this nontrivial at the moment).

cvsnt mailing list
cvsnt at cvsnt.org cvsnt downloads at march-hare.com @CVSNT on Twitter CVSNT on Facebook
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs

More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook