Re: [RFC PATCH] Automatically save packfiles created during git-push

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nicolas Pitre <nico@xxxxxxx> wrote:
> On Sun, 9 Sep 2007, Shawn O. Pearce wrote:
> 
> >  Originally I started this patch out thinking that --no-thin was
> >  the default for git-push and that therefore this was almost a
> >  no-brainer change.  Then I found out it isn't the default, so now
> >  I'm not so sure about the value of this particular patch.
> 
> How come it isn't the default?

Well, according to git-blame this particular line dates all the
way back to Linus' rewrite of git-push into C (755225de6ce4).
In every commit that has since touched that "static int thin"
declaration they all left it as "thin = 1".

Apparently --thin has always been the default for git-push, ever
since Junio made it the default (84f11a4335), which is way back
when git-push was still git-push.sh.

Junio's change to make --thin the default is all the way back in
2006-03-25, which is months before you taught index-pack how to do
the --fix-thin logic (636171cb) in 2006-10-25.

> Last time I fiddled in that area, I explicitly avoided enabling thin 
> packs on push for the following reasons:

Yea, that was my recollection too.  Which is why I just assumed all
though that patch's developemnt that thin was off by default, and
was actually surprised when I found it that thin was *on* by default.

I'm suspecting you submitted a patch to disable thin by default in
git-push but that the patch got dropped by Junio by accident.

> 1) pushes happen less often than fetches, so the bandwidth saving is 
>    much less visible in that case overall.
> 
> 2) thin packs have to be complemented with missing delta bases to be 
>    valid, so many received thin packs will take more disk space.
> 
> 3) the bother of repacking should be distributed amongst "clients" 
>    i.e. fetchers and pushers as much as possible, and not the server
>    being fetched or pushed, to keep disk and CPU usage low on the 
>    server.
> 
> This is why a fetch should get thin packs but a push should not.

Yes.  I agree with you completely.  I'm sending a patch for it right
now to Junio.  I'll quote your reasons above, because it is a very
good summary of why it should be this way.

-- 
Shawn.
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux