[cvsnt] Truncating CVS repository

Chuck Kirschman Chuck.Kirschman at Nosp_am.bentley.com
Thu Jan 17 16:27:54 GMT 2008


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.


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


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