billig viagra comprare viagra in farmacia generika cialis cialis paris acheter générique viagra kamagra sobres precios cialis viagra 50mg ou 100mg kamagra wien comprar cialis genérico levitra 10mg rezeptfrei farmacia online kamagra kamagra i sverige sicher viagra kaufen levitra pastilla
boutiques viagra 
viagra pharmacie 
levitra belgique 
cialis trop cher 
vrai viagra en ligne 
viagra ou cialis prix 
cialis achat france livraison rpide 
kamagra gel farmacia svizzera 
viagra en pharmacie prix 
prix du cialis 10 
achat viagra internet 
kamagra en jours 
viagra livraison france 
livraison rapide viagra 
vente viagra pfizer 
buy kamagra without prescription finasteride for sale discount viagra online viagra sale levitra over the counter viagra naturel viagra performance sexelle india pharmacy viagra cheap kamagra cialis no prescription cialis for women kamagra tablets cialis over the counter levitra best prices order propecia online no prescription

Git Side Benefit: Reducing Disk Usage

A side benefit of switching from Subversion to Git for source control is that Git does not use shadow files and directories to find out what has changed.
I created two checkouts of a svn project — one using traditional svn and one using git (which can actually clone a svn repos — see explanation below).

[~/my-projects]  du -hd 0 \
> berammelse berammelse.git \
> dokboks dokboks.git       \
> intrastat intrastat.git   \
> kompetenceregister k2.git \
> ourpeople ourpeople.git   \
> let0004 let0004.git

43M     berammelse
38M     berammelse.git
63M     dokboks
11M     dokboks.git
53M     intrastat
34M     intrastat.git
144M    kompetenceregister
47M     kompetenceregister.git
118M    ourpeople
151M    ourpeople.git
163M    let0004
98M     let0004.git

For any project I tried this, Git uses significantly less disk space. It’s just a side effect, I know. But more important: The git version has all the logfile history offline and that makes rolling forward/back much faster :)
FYI i’m using my version of Dr. Nic’s “gitify” command that wraps a “git svn” command. This way I can use git locally and then re-commit into svn when done.

#!/usr/bin/env ruby -wKU
# command from
# Install with
# sudo port install git-core +svn

# get svn info location
svnurl = `svn info | grep "^URL:"`.gsub(‘URL: ‘,).chomp

# project = basename
project = File.basename(Dir.pwd)

puts cmd = "git svn clone #{svnurl} ../#{project}.git"


puts "(‘git svn rebase’ merges changes from svn.\n ‘git svn dcommit’ updates svn with your git commits)"

5 Responses to “Git Side Benefit: Reducing Disk Usage”

  1. Jeet Says:

    I am not entirely sure about git reducing the disk usage, since it has to keep ‘whole’ copies of the commits, I am inclined to think that total size required by a well used git repository would be higher than svn/cvs repository that will only keep differences.

    Might try something locally before I can conclude.. but yeah, I have switched to git already :))

  2. Jesper Rønn-Jensen Says:

    @Jeet i follow your thoughts but the repositories I tested with above actually shows a disk usage reduction.

    The biggest SVN repository above had more than 16,000 commits and the Git version was 40% smaller even though it contained the entire project history.

    So even though that the svn repositories here are only snapshots in time (the history remains on the server), there is a significant difference.

    BTW, the Git repos also only contains differences between each revision.

  3. Andrew Says:

    They say there that GIT version of Mozilla repository is 420 MB instead of 12 GB in SVN.
    But that’s the remote repository, which does not really matter to me :-)
    What matters to me is that when I download it to my machine, with GIT I have to download the entire 420 MB :-( while with SVN only a snapshot of the latest sources.
    Distributed VCSs are good for large decentralized projects.

  4. subbarao Says:

    Hey guys, I want to know the exact procedure used by git to reduce disk usage i.e. the algorithm used by it to store changes. Any suggestions ???

  5. | Using Git for SVN Repositories Workflow Says:

    [...] the last months I have been using Git to work with my Subversion repositories. Besides from reducing disk usage, Git also makes my work slightly faster and independent of network access — I can make [...]