[IPython-dev] Making our git repo much smaller?

Fernando Perez fperez.net at gmail.com
Tue Feb 8 20:56:41 EST 2011


Hi all,

I've always been bothered by the fact that our base git repo is much
bigger than seems necessary.  A clean clone gives:

(master)uqbar[ipython]> dsize .
4.8M	./IPython
7.2M	./docs
75M	./.git
-----------------------------------------------
Total (including smaller dirs not shown above):
87M	.

After reading on the matplotlib-devel list a tip from Pauli Virtnanen
on git compression, who suggested using:

git reflog expire --expire=0 --all
git prune
git repack -f -a -d
git gc --prune=0

I ran that on my fresh clone and now I get:

(master)uqbar[ipython]> dsize .
4.8M	./IPython
7.2M	./docs
12M	./.git
-----------------------------------------------
Total (including smaller dirs not shown above):
24M	.

This is a pretty significant reduction.  What I'm wondering is: how do
we push this benefit back up to github so that all new users who
clone/fork get the smaller repos?

I don't want to push blindly quite yet from my local copy, because I'm
not sure it's OK to do that.  I simply don't know enough: does it do
anything, does it do what we want, any damage?...

But dropping the storage area of our repo from 75M to 12M is a really
significant improvement that would especially help contributors with
low-bandwidth connections, so I'd like to make it happen on the github
side...

If anyone knows what the right step here is, I'd be grateful...

Best,

f



More information about the IPython-dev mailing list