Hello,
I've set up a Git mirror of the entire GCC history on
server space kindly provided by David Woodhouse.
You can clone it with:
git-clone git://git.infradead.org/gcc.git
The entire repo packs to 877MB. If you can't afford that
much disk space, I suggest you get a shallow copy instead:
git-clone --depth 100
This is just 43MB, very affordable if you consider
that the total size of the .svn dirs is 610MB!
One nice thing about the git GCC repo is its blazing
speed with common operations:
- grep through all the history in less than 5 seconds:
[EMAIL PROTECTED]:~/src/gcc/gcc-git$ time git-log | grep ^commit | wc -l
81193
real 0m4.232s
user 0m4.158s
sys 0m0.381s
- nop remote pull in 0.5 sec:
[EMAIL PROTECTED]:~/src/gcc/gcc-git$ time git-pull
Already up-to-date.
real 0m0.548s
user 0m0.265s
sys 0m0.265s
- full tree diff in 0.5 sec:
[EMAIL PROTECTED]:~/src/gcc/gcc-git$ time git-diff >/dev/null
real 0m0.490s
user 0m0.094s
sys 0m0.397s
The only perfomance issue is with git-blame, which is git's
Achilles heel. But you'll excuse it as soon as you see
that it walks not just through renames, but even through
cut&pasted snippets from one file to another!
The mirror is read-only and updated hourly. On request, I
could increase the frequency of the updates as it doesn't
eat that much bandwidth anyway.
I have just cloned the trunk because that's what I needed
for own usage. I can add all branches if somebody needs
them. Shouldn't make the repository much bigger and one
doesn't need to pull them by default anyway.
--
// Bernardo Innocenti
\X/ http://www.codewiz.org/