Date: Sun, 27 Jan 2013 07:43:35 -0600 From: "John Mehr" <jcm@visi.com> To: <freebsd-stable@freebsd.org> Subject: Re: Svnsup architecture Message-ID: <web-11546638@mailback4.g2host.com> In-Reply-To: <20130127124908.GB18833@snail.casa> References: <20130123144050.GG51786@e-Gitt.NET> <20130124093846.5e683474@laptop> <E10EBB96DCC143BE8F14FD2982AD84B7@white> <20130124085717.GA26673@icarus.home.lan> <20130125124219.GA5299@snail.casa> <web-11528588@mailback4.g2host.com> <20130127124908.GB18833@snail.casa>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 27 Jan 2013 13:49:08 +0100 Arrigo Marchiori <ardovm@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@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-unsubscribe@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?web-11546638>