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 <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 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@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"