[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] Re: dumb servers
From: |
Zbynek Winkler |
Subject: |
[Monotone-devel] Re: dumb servers |
Date: |
Mon, 19 Jan 2004 00:46:16 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031208 |
graydon hoare wrote:
[snip]
that's sort of the nice thing about hashtree synchronization: it's
really just set union, so if I sync with a server then you sync with
the same server, you have all my changes. if I sync with the server
again later, I have all your changes. it would replace probably 10
different commands in monotone with just one: "monotone sync <url>".
things which reduce the amount of code so dramatically are very
attractive.
Hmm. What exactly would be involved in implementing such a command? I've
never done anything related so I am trying to learn here. Could we say
that the postcondition of the sync is that the hashes of all head
manifests are contained in both databases? If so, could the
synchronization start by exchanging the top level hashes, if they are
different send the other a copy and go to a parent version(s),
continuing up to a point when both hosts find that they already have the
hashs in the their databases (find the closest common parent). Then the
things to send to the other host should be fairly easy to identify by
examining the contents of the manifests in question. If this is the case
it could be relatively easy to do and it could even be layered on top of
http (no new holes to those firewalls).
Zbynek
--
http://zw.matfyz.cz/ http://robotika.cz/
Faculty of Mathematics and Physics, Charles University, Prague, Czech Republic