Svnsup architecture [was: Re: svn - but smaller?]

Arrigo Marchiori ardovm at yahoo.it
Fri Jan 25 12:32:01 UTC 2013


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


More information about the freebsd-stable mailing list