Git repository with full GCC history

Bernardo Innocenti bernie@codewiz.org
Fri Jun 1 01:35:00 GMT 2007


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:

   bernie@learn:~/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:

   bernie@learn:~/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:

   bernie@learn:~/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/



More information about the Gcc mailing list