From owner-freebsd-current Mon May 31 11:49:40 1999 Delivered-To: freebsd-current@freebsd.org Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.54]) by hub.freebsd.org (Postfix) with ESMTP id 2F9F914BE3 for ; Mon, 31 May 1999 11:49:37 -0700 (PDT) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.9.3/8.9.1) id LAA11628; Mon, 31 May 1999 11:51:47 -0700 (PDT) (envelope-from sgk) From: Steve Kargl Message-Id: <199905311851.LAA11628@troutmask.apl.washington.edu> Subject: Re: Announcing a new cvsup server - cvsup6.freebsd.org In-Reply-To: from John Polstra at "May 31, 1999 10:56:07 am" To: jdp@polstra.com (John Polstra) Date: Mon, 31 May 1999 11:51:47 -0700 (PDT) Cc: kkennawa@physics.adelaide.edu.au (Kris Kennaway), current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message