status of sharebox-fs?

Christophe-Marie Duquesne chm.duquesne at gmail.com
Wed May 23 20:52:16 CEST 2012


On Wed, May 23, 2012 at 7:42 PM, Joey Hess <joey at 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/


More information about the vcs-home mailing list