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

Re: git repository size vs. subversion repository size

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:44:27

Sean Brown [off-list ref] wrote:
Here are the steps I took (locally):

mkdir git-samplesite-tmp
cd git-samplesite-tmp
git-svn init http://subversion.myco.com/my_sample_website --no-metadata
git config svn.authorsfile ~/Desktop/users.txt   # mapped svn users to git users
git-svn fetch
git clone git-samplesite-tmp git-samplesite

I did this based on reading the documents in the git wiki, so I
assumed they were "best practice."  Did I do something wrong?
The last command there didn't get you the most efficiently packed
repository possible.  More recent versions of git-clone will prefer
to hardlink all of the loose objects and packs from the source to
the destination, so the clone can occur more quickly when they are
on the same filesystem.

Really what you want to do here is repack the cloned directory
(cd git-samplesite && git repack -a -d -f) and maybe include
some aggressive --depth and --window options (e.g. 100/100)
if you have some CPU time to burn and are reasonably certain
you will be keeping the result.  You only have to spend that
CPU time once when converting from SVN, and all future clones
from this one will benefit.

But your really major disk usage was due to what someone else
pointed out, which was missing the "-s" flag to git-svn.  So the
Git working directory was huge, as we created working files for
every single branch and every single tag.  Ouch.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help