[cvsnt] Out of memory

Bo Berglund bo.berglund at telia.com
Thu Oct 6 06:32:29 BST 2005

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.

On Thu, 06 Oct 2005 00:55:18 +0100, Tony Hoyle
<tony.hoyle at march-hare.com> wrote:

>Bo Berglund wrote:
>> If you have files in the list of changed files that are binary, and
>> these files also are rather big and you have committed a lot of revisions
>> already, then the "RCS" file on the server that corresponds to this
>> project file will have grown to very large size.
>> CVS must read the entire contents of the RCS file init memory when
>> it processes the commit so the server must have this amount of RAM 
>> available - in fact I think I remember reading somewhere thet CVSNT
>> needs 2 times the size of the RCS file as free RAM.
>It's not quite that inefficient, but it needs around 2* the size of the 
>largest version of the file, unless you're checking out HEAD.
>Binary diff needs 3* at the moment, due to the way it works (it needs 
>both full copies in memory to work out the diff, which may grow 
>potentially to the original size).

I have found that on our repository all operations (tag, update,
commit etc) involving binary files that have lived for some tims so
that there are say 50-100 revisions will get extremely slow.
We have stored the exe files in the repository and these files are
individually about 3-4 Mb, but the RCS file is about 150 Mb now.
If what you say is true then we should not see a difference when the
RCS file grows but we *really* do....

(Bo Berglund, developer in Sweden)

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