On Wed, May 23, 2012 at 7:42 PM, Joey Hess <j...@kitenet.net> wrote: > Right now I am thinking about good ways to approach the distributed > syncing. IIRC the original sharebox did something neat with XMPP to > broadcast change notifications, avoiding polling, but adding complexity.
No, I think you're refering to dvcs-autosync. Sharebox does not do that: instead, the plan is to offer a callback option for a program to be called whenever a git operation has been performed. The synchronisation itself should be called by touching a special file. This way, those who want instant updates might just plug for example a jabber bot that would advertise for modifications and touch this file whenever another peer advertises for modifications. Those who prefer to synchronise once a day in order to save battery should just use a crontask. > NAT traversal is also a hard problem, when none of the repos have a public > IP address. Yes, this is not an easy problem. I also thought about this issue. My conclusion: I think it should be easier to pretend every peers are on the same LAN, and build a vpn between them. Several possibilities: - Users could just self host their own vpn (requires knowledge). - Users could suscribe to a service that would provide the vpn (a way to make money with such a software?). - Some peer to peer vpn could be used. There are plenty of opensource programs for this job. gnunet provides a fine way to do that. My only problem with all the peer to peer vpn implementations is that, afaik, none of them works on every platform. > Also interesting is finding the paths through the network > of repos that gets data transferred to each most efficiently. What do you mean exactly? Btw, I did not look closely how git-annex has been modified recently, but the reason why I have chosen FUSE was the ability to present git-annexed files (ie symlinks to read only files) as regular files. IMHO, that would be the most user friendly way to manipulate these files without the user noticing git. However, from what I read on kickstarter, you might have found a better solution. What is it? Also, you might want to have a look at aerofs [1]. Anyone who sees interest in a peer to peer filesystem might enjoy reading this. [1]: http://www.aerofs.com/ _______________________________________________ vcs-home mailing list vcs-home@lists.madduck.net http://lists.madduck.net/listinfo/vcs-home