Svnsup architecture
John Mehr
jcm at visi.com
Sun Jan 27 13:43:43 UTC 2013
On Sun, 27 Jan 2013 13:49:08 +0100
Arrigo Marchiori <ardovm at yahoo.it> wrote:
> Disclaimer: I am trying to go inside the technicalities
>of the SVN
> protocol. I am not sure whether this sub-thread should
>belong to this
> list or to another; I am open to suggestions on this
>topic.
>
> On Fri, Jan 25, 2013 at 07:40:45PM -0600, John Mehr
>wrote:
>
>> On Fri, 25 Jan 2013 13:42:19 +0100 Arrigo Marchiori
>><ardovm at 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 50000+ 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...
>
> After investigating more in depth the SVN protocol, if I
>understood
> correctly, your problem cannot be solved. Or, at least,
>the server is
> not supposed to help us.
>
> The SVN client, in fact, seems to save a copy of the
>whole working
> copy inside the .svn directory.
>
> Whether a file was changed or not, it is an information
>that the
> _client_ knows, before it contacts the server.
>
> A "svn update" command sends to the server the start and
>end
> revisions (the latter in the svn-update message, the
>first in the
> set-path message). Merging the information from the
>server (delta's)
> with the working copy is the client's job.
>
> To summarize, any svn-like downloader should at least
>know:
> 1- the current revision of the working copy;
> 2- the checksums of all the files in the repository, at
>the current
> revision.
>
> The "official" SVN client does more than point 2: it
>stores the whole
> content of each file; this allows the "svn diff" and
>"svn revert"
> commands to work off-line.
>
> Best regards,
> --
> rigo
>
> http://rigo.altervista.org
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to
>"freebsd-stable-unsubscribe at freebsd.org"
>
Hello,
Thanks for looking into this. I was experimenting yesterday with the
commands to checkout a revision and still wasn't getting the
checksums. I also noticed when I ran a
svn pg svn:mime-types -R <subversion server>
There was a get-file log entry for each file so my concerns may not be
an issue in the end.
Thanks again.
More information about the freebsd-stable
mailing list