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 firstname.lastname@example.org.
Duncan Paterson wrote: > Our CVS repository has now grown to over 100 GB and this is becoming > unmanageable. Is there any way to truncate the older versions from the > CVS repository. Any help is gratefully received. Btw I am a complete > CVS novice. > > > > Thanks > > > > Duncan > You probably already did this, but check to see how much of that is your CVSROOT/history file. We found for a source code repository that typically 50-60% of our repository space is the history file, and about 20+% of the remaining space was tags. After that, we then found 10% of the remaining space was deleted files. Truncating or moving the history file is an easy option. I'm sure someone will chime in with turning off history and turning on auditing, which requires a database. Removing unnecessary tags is good for a number of reasons. Deleted files can be cleaned up when they are so obsolete that they no longer have value, but in that case you probably should still put them in another repository. And unless they're binaries, it probably won't make an appreciable difference. Also, we have occasionally found "really big" files, usually on the order of 60-80 GB. These were probably due to a bug in CVS as the user had no idea what had happened. We haven't seen this lately, so the issue is probably resolved. But it's worth looking to see what is taking up all the space, just in case. We also had one set of folks who used the $Log$ keyword. While I completely disagree with using it (and I think I'm in the vast majority here), it does have the effect of ballooning up the repository with no value. Best to avoid it. We use multiple repositories to keep the size down. Although we have well over 100 GB of source files, we have a lot of repositories. This allows us to load balance the various repositories on multiple servers. On the other hand, with 100 GB, you are probably storing a lot of binaries? We had one group that tried to commit every build of their product. In that case, they quickly exceeded disk quotas. The solution was education. Similarly the folks that tried to commit the install sets of the compiler. Some things don't belong in a revision control system. Removing old versions is usually a bad idea. It really goes against the whole philosophy of a revision control system. chuck