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