Problems with large files and the Dec. CTP in Team Foundation Version Control

If you try, as one person in the Team Foundation newsgroup did, to checkin large files (>200 MB or so), you will reach a point where it fails with a message like “there is not enough storage to complete this command.”  That is due to the fact that the Dec. CTP uses the MSPatch library to compress files for upload.  The working set will grow proportionally with the size of the file, and the process will run out of memory.

The design goal for Team Foundation Version Control is to support up to 2 GB files (size after compression).  We have switched from MSPatch to the new GZip (okay, nothing’s written in stone, so keep in mind that it’s true while I’m typing) support built into the Whidbey framework.  The result is that the working set grows by only about 5 MB or so regardless of file size, and it’s faster for larger files.

We were really pushing MSPatch into a role for which it was probably not intended.  It’s more suited for an environment where minimizing the compressed file is the primary goal while sacrificing run time and memory.

Using GZip will make life easier for folks like SourceGear who want to write non-Windows clients for Team Foundation.

Comments (2)

  1. prasad says:

    gb to mb