Skip to contentSkip to conversation

git-pack-objects gitattributes?

DISCUSSION Nasser Grainawi 2 participants 4 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
Quoted 11 lines · Nasser Grainawi

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?

#2 lore raw

Nasser Grainawi venit, vidit, dixit 19.10.2009 20:47:

Quoted 11 lines
Quoted 10 lines · Nasser Grainawi

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).

Quoted 8 lines
Quoted 6 lines

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.

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

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

Michael

#3 lore raw
Quoted 9 lines · Michael J Gruber

Nasser Grainawi venit, vidit, dixit 19.10.2009 20:47:

Quoted 8 lines
Quoted 7 lines · Nasser Grainawi

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).

Quoted 8 lines
Quoted 5 lines
Quoted 4 lines

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

Quoted 3 lines

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.

Quoted 3 lines

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