On Tue, Nov 19 2013, Miles Fidelman wrote:

> Has anybody implemented a distributed concurrency/version control on
> top of tahoe-lafs; and/or mechanisms for conflict resolution on files
> where multiple people have writecaps?

I'm not aware of any such implementation, but you could use something
similar to CouchDB's conflict management algorithm:
<http://guide.couchdb.org/draft/conflicts.html> with revision IDs being
generated by the client since there is no server. Each client would try
to find the "latest" revision of a document or tree, applying its own
revisions and uploading a new revision with the appropriate parent
revision(s).

If you encode both the revision ID and its parent revision(s) in the
filename, a client can reconstruct the entire revision graph just by
looking at filenames. Think Viking naming but with unique first names
and potentially hyphenated last names: Leif Erikson, Henry Leifson, Bob
Henry-Maryson, etc. You could reconstruct everyone's family tree just by
knowing their names. This does not scale well to large numbers of
revisions, but you could just have a policy of moving old revisions off
into an "attic" after some period of time that is longer than the
longest you expect to have a "split brain."

Does that make sense? I am happy to go into greater detail if you're
interested in trying to build something like this.

-- 
Sean Richard Lynch <se...@literati.org>
http://www.literati.org/~seanl/
_______________________________________________
tahoe-dev mailing list
tahoe-dev@tahoe-lafs.org
https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev

Reply via email to