Thread (11 messages) flat view 11 messages, 7 authors, 2016-06-15

Re: git repository size vs. subversion repository size

From: Björn Steinbrink <hidden>
Date: 2016-06-15 22:44:27

On 2008.04.04 22:27:12 -0400, Sean Brown wrote:
On Fri, Apr 4, 2008 at 6:17 PM, Björn Steinbrink [off-list ref] wrote:
quoted
On 2008.04.04 18:02:56 -0400, Sean Brown wrote:
 > Last night I decided to see what storage size differences I might see
 > between an svn repo and a git one.  So I imported a highly used
 > subversion repository into git and was shocked to see how huge the git
 > version was.  I used a repo that has a lot of branches and tagged
 > releases just to make sure importing into git would in fact keep all
 > of the history.  It did keep the history, but the total disk usage was
 > very different:
 >
 > $subversionbox # du -hs ./my_sample_website/
 > 67M   ./my_sample_website
 >
 > $localhost # du -hs ./git-samplesite/
 > 3.6GB ./git-samplesite/

 How much of that is in the .git/svn directory? The contents of that
 directory are used to map git commits to svn revision and git versions
 before 1.5.4 had a quite space consuming file format for that. The new
 format is a lot better. If you want to switch completely, you can even
 just delete the .git/svn directory, as that's only required as long as
 you want to interact with the corresponding svn repository.

 And finally, you might want to repack to repository once after the
 initial import, to get a smaller repo. Something like:
 git repack -a -d -f --window=100 --depth=100
The svn folder (in the.git directory) was only about 4.2 MB.  After
running the repack (and then after that git gc as mentioned by another
in this thread), it's still about 3.5 GB.

git-samplesite (master)]$ du -hs ./*
2.1G	./branches
1.4G	./tags
 66M	./trunk
Uhm, you forgot to use -s when doing the clone. That would have created
real git branches instead of the directories... What you are counting is
the size of the checked out, uncompressed files of _all_ branches and
_all_ tags (and trunk). The repo size of basically what "du -sh .git"
would give.

Björn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help