Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jan 2013 13:42:19 +0100
From:      Arrigo Marchiori <ardovm@yahoo.it>
To:        'Jeremy Chadwick' <jdc@koitsu.org>
Cc:        freebsd-stable@freebsd.org, Dewayne <dewayne.geraghty@heuristicsystems.com.au>
Subject:   Svnsup architecture [was: Re: svn - but smaller?]
Message-ID:  <20130125124219.GA5299@snail.casa>
In-Reply-To: <20130124085717.GA26673@icarus.home.lan>
References:  <20130123144050.GG51786@e-Gitt.NET> <20130124093846.5e683474@laptop> <E10EBB96DCC143BE8F14FD2982AD84B7@white> <20130124085717.GA26673@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 24, 2013 at 12:57:17AM -0800, 'Jeremy Chadwick' wrote:

[...]
> Also, just as a footnote point to readers: please do not bring up
> svnsup.  Until it's stated by some official FreeBSD person that
> "{committers} are actively working on this and bringing it into the base
> system so people can get src/ports without installing
> ports/devel/subversion", it's not pragmatic to mention it as a
> *solution*.

I take the chance of this thread to tell my understanding of the
svnsup project and how and why it should answer our concerns.

I am not a "FreeBSD official person", but I hope I still can bring a
bit of useful information.

Disclaimer: I only had a small e-mail exchange with des, who is the
author of svnsup. 90% of this message are my opinions; the other 10%
is copy'n paste from des' emails. I am currently trying to contribute
to the software; my opinions are made after studying parts of the
current source code.

The current svnsup design is composed of:

 1- svnsup-distill: takes a revision from svn and creates a text file
    (called a delta) that represents it. It seems to be almost
    complete.

 2- svnsup-apply: takes a delta generated by svnsup-distill and applies
    it to an existing source tree. It's currently a work in progress.

 3- a server-side application that runs svnsup-distill and distributes
    the deltas (still to be developed).

 4- a client-side application that fetches new deltas and runs
    svnsup-apply. New trees are "bootstrapped" from other sources,
    e.g.  weekly tarballs (still to be developed).

The FreeBSD base system could only contain applications 2 and
4. Neither of them depends on any SVN-related library: deltas are
simple text files.

Efficiency, if I understood correctly, was one of the key features of
cvsup. This is why svnsup only transfers "deltas".

To answer one of John Mehr's problems: MD5 sums are calculated by
svnsup-distill and included in the deltas. The client only needs to
check them against the local files.

I think that svnsup still needs a lot of work before becoming
usable. But some of the fundamental parts are there, and the projects
can count on at least two developers. :-)
-- 
rigo

http://rigo.altervista.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130125124219.GA5299>