[cvsnt] How to shrink big binary file?

Bo Berglund Bo.Berglund at system3r.se
Thu May 22 18:01:40 BST 2008

We have a few projects that are still in active developemnt and have
been in CVSNT for about 7 years now.
In one of these we have the main.exe file and it now has a *lot* of
revisions in it.
This has led to the RCS file being about 280 Mb in size and it slows up
a lot of operations on this module.
For example we were tagging the module today and putting the tag in
place on this single file took about 5 minutes if not more.

So what we are now looking for is a way to reduce the size of the RCS
file or otherwise make the module smaller.

One idea is to use the admin command to remove non-significant
revisions, but when I tested that some time ago it was also a *very*
slow process...

Another way would be to do this:
- Rename the repository file to something like from main.exe,v to
main.old1.exe,v directly in the repository
- then update the sandbox so that the checked out file is "renamed"
- cvs remove main.old1.exe
- compile a new main.exe
- cvs add the new main.exe to get revision 1.1 and a small RCS file.

This way we will have the old file in the repository under another name
so we can in fact get it out if we need to.

Is there another way?

Could we use a cvsnt rename command to rename the file to main.old1.exe
from the client and then cvs add a new main.exe thus getting a small RCS

Is it possible to cvs add a file in a module where there has once lived
a file by the same name, which has later been cvs renamed to something

I assume that the original file is still living in the same RCS file and
this would probably block the addition of the new file by the same

We are running CVSNT build 2382.

Bo Berglund

More information about the cvsnt mailing list