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