So, we've had many requests for a functional-replacement for DropBox. Last night, I might've figured out a way to leverage existing tools to do this pretty easily. It needs more thought, and maybe there are better ways to do this, but that's what this email thread is all about. If we get a working proposal, somebody (or a group of somebodies) can run with it during the hackfest, or even before then.
Dropbox is nothing more than a synced folder, from what I understand. We have a lot of tools to synchronize folders. We have fewer tools to do this magically, in the background. A shared-drive wouldn't work, there's no guarantee you're always connected. This actually looks like a really similar problem to distributed-revision control. So, if the FBX is the central (always updated) DVCS server, this becomes pretty easy: just make your DropBox folder a repository and push to the server when you change files. Nice, but not very automatic. This is where the neatest Mercurial (or Git/Bzr/Mtn) Extension ever comes into play: inotify [0]. inotify notifies the repository whenever files are changed. If you react to that notification by adding new files, committing changes, and pushing out to the remote repository (say, every 5 minutes or so), then you've just built DropBox. Oddly, though, it's better: since it's a repository, sharing the repository with other folks will no longer hose everything if they move stuff around or delete things; you can always recover it from previous revisions. Can anyone look into making a script that reacts to the inotify events and another script that correctly configures a folder to be that sort of repository? The second script is probably easier, it just needs to call out to the inotify extension and the other script. Nick 0: http://hgbook.red-bean.com/read/adding-functionality-with-extensions.html#sec:hgext:inotify _______________________________________________ Freedombox-discuss mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss
