Building a tool to make the process automated

Martin Fick mogulguy at yahoo.com
Wed Jun 13 04:40:42 CEST 2007


--- Lois Desplat <lois.desplat at gmail.com> wrote:
> Then, there is this link:
>
http://keithp.com/blog/Repository_Formats_Matter.html
> with this quote talking about SVN:
> 
> "The FSFS backend places one file per revision in a
> single directory; a test
> import of Mozilla generated hundreds of thousands
> of files in this directory, causing performance to
> plummet as more revisions were imported.
> I'm not sure what each file contains, but it seems
> like revisions are written as deltas to an existing
> revision, making damage to one file
> propagate down through generations. Lack of strong
> error detection means such errors will be
> undetected by the repository. CVS used to suffer 
> badly from this when NFS would randomly zero out
> blocks of files.
> 
> The Mozilla CVS repository was 2.7GB, imported to
> Subversion it grew to
> 8.2GB. Under Git, it shrunk to 450MB. Given that a
> Mozilla checkout is
> around 350MB, it's fairly nice to have the whole
> project history (from 1998)
> in only slightly more space."


Hmm, I am suspect of how serious this analysis is and
whether these size differences may be artifacts of the
imports, particlarly if those trees had binary objects
in them.  From what I know, CVS did not do any deltas
on binary ojects.  Change a few and you severely grow
the repo.  Couple this with an export/import process
that can not figure this out properly and you might
have some problems.  Add in some file/dir tree moves
that are not tracked as moves in CVS and you grow
more.  Git on the other hand would be able to detect
this since it is based on content (checksums) instead
of on paths, nice.  

But I'm not sure that this is a true reflection of
real world development.  I will try and get some
numbers of my own.  I also know that svn 1.4 had some
major size improvements.

As for the file corruption detection, I can vouch that
SVN does store checksums and can detect it.  I had
this happen and with the help of the svnadmin tool I
was able to fix it!  Having tools to fix things when
they go wrong is just as important detecting the
problem.  See my small annectdotal story here:

http://www.theficks.name/Hacks/Recovery

-Martin



      ____________________________________________________________________________________
Luggage? GPS? Comic books? 
Check out fitting gifts for grads at Yahoo! Search
http://search.yahoo.com/search?fr=oni_on_mail&p=graduation+gifts&cs=bz



More information about the vcs-home mailing list