Subject: Re: git-pack-objects gitattributes?

From: Nasser Grainawi <[email-masked]>
Date: Tue, 20 Oct 2009 10:34:00 -0600

Michael J Gruber wrote:
> Nasser Grainawi venit, vidit, dixit 19.10.2009 20:47:
>> Nasser Grainawi wrote:
>>> Hello,
>>>
>>> I'm trying to avoid doing delta compression on a number of large binary 
>>> files. I got a suggestion to use $GIT_DIR/info/attributes and a line 
>>> like this:
>>> *.bin -delta
>>>
>>> This doesn't seem to show a big improvement (and honestly I can't find 
>>> where in the git-pack-objects source the value of this attribute is used).
>>>
>>> Could someone shed some light on this attribute and any other 
>>> improvements I could make for efficiently serving up a repo over 
>>> git-daemon with near-weekly revisions of 100MB+ files?
>>>
>>> Thanks,
>>> Nasser
>> ping? any help? anyone?
> 
> Well, describing a reproducable test case would help... as well as
> telling us your git version.

1.6.5

> 
> builtin-pack-objects.c certainly refers to the delta attribute, see
> no_try_delta() and its callers.

Oops, somehow missed that while looking at the code right above it. Thanks.

> 
> Have you checked your attrs with git-check-attr? How do you measure the
> improvements you expect?

I did check, it returns 'unset' like one would expect.

I guess the big problem is that I don't have a good test case. I would have
expected a 'git repack -adf' to spend less time saying "Compressing objects",
but that doesn't seem to be happening...

Oh, wait, never mind.
I was missing some of the binaries I was trying to skip. Adding some more 
exceptions to the attributes file dropped the "Compressing objects" time from 
20 minutes (or more) to maybe 10 seconds.

Thanks Michael!

Nasser