Tuesday, December 14, 2010

How to handle large binary file formats under CVS?

Reference on cvs-home faq-o-matic:

CVS can handle any binary format, but you have to let CVS know it is a binary file by setting the RCS keyword mode to '-kb'. And, the size of the binary file can't exceed 80Mb.

*** If you already have a revision checked in you may have to force an extra commit after setting the keyword substitution mode. 

*** It is worth knowing that sometimes very large binary files can cause slowdown and even stoppage of the server. In these cases, it might be worthwhile to delete revisions on the server end, but you should be very sure you know what you are doing before trying.

Reference from http://www.cvsnt.org/pipermail/cvsnt/2002-December/004403.html

Further splunking on the 'net turns up reference's to not using cvs to store large binary files.  Some of these seem to be based on pratical reasons and others on theoretical reasons (BTW, I disagree with the theoritical ones - I *want* to be able to store large binaries with my source code.  But that's another discussion.)

Oh, BTW, did I mention it works now?  Did two things - increased size of VM on server and had client turn on TCP/IP compression.  When A large binary file is encountered it is still reeeaaaalllllllyyyy slow but it eventual gets past it.  The TCP/IP toggle was
suggested here: http://www.zaptech.com/commentary/cvs/cvs.html and I suspect it is what made the difference.

No comments: