Subject: Re: Git User's Survey 2008 partial summary, part 5 - other SCM

From: Jakub Narebski <[email-masked]>
Date: Fri, 12 Sep 2008 00:05:32 +0200

Joshua Jensen wrote:
> Anatol Pomozov wrote:
>> Jakub Narebski wrote:
>>>
>>> A bit suprising for me is high place of Perforce.
>>>     
>> Some huge companies use Perforce. A good example here is Google. But
>> at the same time there are a lot of Google employees who interested in
>> git. Especially after Linus TechTalk. Googlers created a wrapper for
>> perforce that tries to bring git to everyone and ~300 people actively
>> use it.
>>
> Many game companies use Perforce, as it has pretty good handling of 
> gigabytes upon gigabytes of art content.  This is one area where a 
> centralized repository trumps the distributed ones with full history.  
> The checkout tree for one product I worked on was 70 gigabytes, and I 
> still mapped out a large number of files.  You can imagine how that 
> becomes too unwieldy to have all history locally.

Dana How (Cc-ed) worked on better support in Git for very large and
not well compressed files (and usually with short history).  Her
solution was to add support to git to limit size of blobs which
entered packs (files/blobs of size larger than given limit were
left as loose objects), and share those loose objects using network
filesystem.  You can search git mailing list to find exact details
of this. IIRC mentioned patches were not accepted; instead there was
proposed a solution where problematic blobs of very large files were
packed into separate kept pack, and this kept pack (or packs, each
containing single blob) were shared using some network filesystem
(network drive).

In addition to that in Documentation/RelNotes-1.5.3 we have:

  - "pack-objects" honors "delta" attribute set in
    .gitattributes.  It does not attempt to deltify blobs that
    come from paths with delta attribute set to false.

(but as far as I can see this attribute is otherwise undocumented).
This can also help performance for a repository with very large files.

-- 
Jakub Narebski
Poland