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

2013-01-25 Thread Arrigo Marchiori
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
___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org


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

2013-01-25 Thread Peter Jeremy
On 2013-Jan-25 13:42:19 +0100, Arrigo Marchiori ard...@yahoo.it wrote:
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).

I think you've just re-invented CTM.  Before spending too much more
time on svnsup, I suggest you read ctm(1).

-- 
Peter Jeremy


pgpfk7Isksqu6.pgp
Description: PGP signature


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

2013-01-25 Thread John Mehr


On Fri, 25 Jan 2013 13:42:19 +0100
 Arrigo Marchiori ard...@yahoo.it wrote:
On Thu, Jan 24, 2013 at 12:57:17AM -0800, 'Jeremy 

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.


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.


Hello,

I've been looking for a way to get the details of a 
complete revision in one step, but I haven't had any luck 
yet.  This would solve the one aspect I'm most worried 
about: with 5+ files and 5500+ directories in my local 
copy of /usr/src, I'd hate to have my code end up 
inadvertently causing a denial of service on the 
repositories with a flood of tiny requests...




___
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org