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.
Mudama, Eric wrote: > > The last time I did any investigation of benchmarking CVS, it had a full > version of the head, and then backreferenced all changes from that point. > We have files that are version 2.1380, which on this file would be a That's actually a strength, since in the majority case (update from the head) the lookup time is just the time to open the file & copy the data out. Ultimately whether you use a database format or a text file you're going to have to do some kind of diffing, and the rcs file format is extremely fast (I doubt a database would be much faster). Also because everything is held as files repository corruption is virtually unheard of, provided the underlying OS has a reasonable file system. In the worst case (hardware failure) you can recover the affected files from backup without affecting the rest of the repository, which is useful (I've had to do it). CVS is at its weakest when you're checking out from a long lasting branch. A branch is held as a diff from the branchpoint, so finding the file on a branch that's been active for more than a couple of weeks is the slowest operation (never more than a few milliseconds in my experience, but if that's across a few thousand files it'll mount up). Generally CVS works best when branches are short lived and most activity is on the head. Making CVS store whole revisions at certain points would be trivial, but without a good way of speeding up the lookup to find the whole revision I doubt it would be a speed increase. You'd also lose a certain amount of merging capability - with CVS you can easily take two divergent branches and merge them together or into a third branch... the fact that everything is stored as diffs makes this possible. Without specific numbers, though, it's difficult to say. I've never heard of anyone complaing that CVS was slow, or that it couldn't handle large projects. The largest project that I know about is http://www.xfree86.org/cvs/, which has many thousands of files and many hundreds of developers working simultaneously on it. The FreeBSD project has their entire source code repository on CVS, which may well be much larger. CVS does benefit from good hardware. It was designed for Unix where big fast machines are readily available, so if you're really talking about a huge repository I'd probably recommend investing in some Sun or IBM hardware first. Tony _______________________________________________ Cvsnt mailing list Cvsnt at cvsnt.org http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs