Re: expensive local git clone
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Jul 4, 2005, 20:39 UTC
- Message-ID
- <Pine.LNX.4.58.0507041327580.3570@g5.osdl.org>
- In-Reply-To
- <20050704.125744.59481768.davem@davemloft.net>
On Mon, 4 Jul 2005, David S. Miller wrote:
> > I can't be the only person in the world seeing this :-) > It usually grows to around 88MB and runs for 8 minutes before > it finishes.
I'm making something based on pack-files.
git-local-pull is indeed walking the whole tree and copying one file at a time. We shouldn't use "git-fetch-script" in "git clone" (it's really designed for doing one file at a time and for small updates),
That said, the pack-file thing I'm working on won't be perfect either, and the main advantage is that it should work over ssh. The fastest way to do a clone is really to do a recursive hardlinked tree, so you may well want to just do
#!/bin/sh mkdir "$2" && cp -rl "$1/.git" "$2/.git"
and it should be about a million times faster and equally effective.
Untested, of course.
Linus