John Polstra wrote:
> Kris Kennaway wrote:
> 
> > The solution I see here is for the cvsup mirrors to maintain
> > a timestamp of the last time they updated from freefall (for
> > multi-tiered mirrors, this value should be passed down the chain so
> > each of them knows the age of their files relative to the master
> > server)
> 
> I've been down that road and was not able to come up with a workable
> solution.  But if anybody can come up with a detailed algorithm for
> me, I'll welcome it with open arms.
> 

If you want a robust (but probably really slow) algorithm, you
could use the revision number of a file.  Isn't this a monotonically
increasing number?

Would it be possible to compute md5 signatures on a per-file per-collection
basis?  The cvsup server would have, for example, src-bin.md5 which
contains a list of all files in the src-bin collection and their
md5 signatures.  When a connection is made to the server, the server
sends src-bin.md5 to the client.  The client compares the local
src-bin.md5 with the server's src-bin.md5.  Any difference would
indicate a file has changed, and the client then requests the
server to send the changed file(s).  The client would then update
the local src-bin.md5.  The only problem would be a ping-pong effect
if a server is out-of-date for some reason.   This is were you use 
version numbers.

-- 
Steve


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to