[Nix-dev] Re: new possible movement to git (?)

Evgeny Egorochkin phreedom.stdin at gmail.com
Wed Aug 4 17:17:31 CEST 2010


On Wednesday 04 August 2010 15:59:17 Marc Weber wrote:
> Excerpts from Yury G. Kudryashov's message of Wed Aug 04 13:23:10 +0200 
2010:
> > But I think that we should discuss the choice of dvcs (or setup some
> > autosynced dvcs mirrors). I know that Michael Raskin is against git.
> 
> We can. But I think the result will be git.
> 
> Michael Raskin: If you'd prefer a different one say so - and say why,
> please. In a previous post I concluded that he would accept using git
> as alternative to SVN. See here:
> http://thread.gmane.org/gmane.linux.distributions.nixos/4425/focus=4440
> 
> > I'm against using external closed source code hosting.
> 
> It could be used as additional git mirror for that reason if there is
> need to. This could provide some additional transition time for some
> users. Is someone interested in it at all?
> 
> > > I still see the value of SVN checkouts - less size on disk - so maybe
> > 
> > % cd /etc/nixos/nixpkgs # git checkout, both trunk and stdenv branch
> > % git gc; du -sh
> > 66M
> > % du -sh .git
> > 41M
> > # Hence, the tree is 66-41=25M
> > % du -sh /etc/nixos/nixpkgs-svn
> > 130M
> > 
> > Are you still sure that svn checkout use less disk space?
> 
> Is your comparison fair? Did you include the checked out files in the
> git calculation?
> Because SVN stores all files twice let's add 1/rd of the space of SVN.
> Then you have 40M + (130/4M) approx 80MB. Still less than 130MB.
> But I expect nixpkgs to grow. So in 10 years svn will be smaller because
> it doesn't store history.

This isn't entirely correct because svn checkout will grow too unless you 
expect to only do version bumps.

And 10 years??? svn won't last this long I'm afraid :) 

One of the reasons why SVN checkout of nixpkgs is so large is because of the 
code tree organization: most of dirs have just one <1kb file which means huge 
overhead for svn. Just look into .svn dirs.

Just to make sure:
%du nixpkgs/.git nixpkgs -s
42804   nixpkgs/.git
68912   nixpkgs

and this is svn:
% du nixpkgs2 -s
131964  nixpkgs2

-- 
Evgeny



More information about the nix-dev mailing list