From: Petr Baudis <pasky@suse.cz>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org, catalin.marinas@gmail.com
Subject: Re: StGIT repository not clonable?
Date: Sun, 12 Nov 2006 16:36:40 +0100 [thread overview]
Message-ID: <20061112153640.GD7201@pasky.or.cz> (raw)
In-Reply-To: <ej5jt1$9tf$1@sea.gmane.org>
On Sat, Nov 11, 2006 at 11:48:04PM CET, Jakub Narebski wrote:
> Catalin Marinas wrote:
>
> > IIRC, there was some advise in some GIT document
> > or e-mail saying that you shouldn't pack if the export is over a dumb
> > protocol. That's good for people pulling regularly but bad for
> > cloning.
>
> By the way, does dumb protocols download _whole_ packs only? Or do they
> download parts of packs (curl can do that, I think)?
curl can, but it might very easily get even much more expensive than
downloading the whole patch unless your latency is very small and
bandwidth very tight, which would be quite a unusual situation.
It's true that repacking can hurt dumb protocols - if you repack often,
dumb clients will have to re-fetch the single whole patck with all the
stuff they already have plus the few additional objects they are
missing.
But at least packing once can be a huge improvement and won't hurt the
dumb clients since their problem is with incremental fetches.
Furthermore, if you do just repack, not repack -a, the cost for dumb
protocols is quite small (though it's not optimal packing strategy):
It is not unlikely at all that if you have set of unpacked objects A,
client fetches that, then you create set of objects B and then repack,
creating pack(A \cup B), this pack will still be much smaller than the
set of objects B (even if |A| >> |B|) so it's more beneficial even for
the dumb clients to refetch the A objects contained in the pack, instead
of fetching just the unpacked B objects.
By the way, in case of glibc-cvs the pack sice is 104M, and after
importing new CVS changes after few days, the repository size doubled to
200M. git-repack -a -d brought that _back_ to 104M!
Packs are a funny thing.
--
Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
next prev parent reply other threads:[~2006-11-12 15:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-11 3:56 StGIT repository not clonable? Horst H. von Brand
2006-11-11 12:36 ` Karl Hasselström
2006-11-11 21:59 ` Catalin Marinas
2006-11-11 22:34 ` Karl Hasselström
2006-11-11 22:48 ` Jakub Narebski
2006-11-12 15:36 ` Petr Baudis [this message]
2006-11-13 0:12 ` Horst H. von Brand
2006-11-12 16:17 ` Horst H. von Brand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061112153640.GD7201@pasky.or.cz \
--to=pasky@suse.cz \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox