Subject: Re: Efficiency of initial clone from server

From: Theodore Tso <[email-masked]>
Date: Mon, 12 Feb 2007 14:35:07 -0500

On Mon, Feb 12, 2007 at 10:20:31AM -0500, Nicolas Pitre wrote:
> Repacking on clone is not the solution at all.
> 
> This problem is going to largely be resolved when GIT 1.5.0 gets 
> installed on kernel.org.  With latest GIT, pushes are kept as packs on 
> the remote end (when they're big enough which is over 100 objects by 
> default).  Then repacking multiple packs into one is almost free as most 
> of the data is simply copied from one pack and sent over the wire as a 
> single pack.

Even before we get Git 1.5.0 installed on master.kernel.org (and we
should really ask hpa to do that), is there a reason we haven't done
something like this across all of the kernel repo's on
master.kernel.org?

for i in <list of kernel git repo's on master.kernel.org>
do
   pushd $i
   if [ ! -f objects/info/alternates ]; then
	echo /pub/scm/linux/kernel/git/torvalds/linux-2.6.git/objects \
	   > objects/info/alternates
	git repack -a -d -l
   fi
   popd
done

					- Ted