A personal Dropbox replacement based on Git
mayrhofer.eu.org
mayrhofer.eu.org
Here are just a few characteristics of Dropbox that this project doesn't have:
* cross-platform (windows, mac, linux)
* an easy to setup GUI client that is possible to setup by people who don't necessarily know how to enable inotify in linux kernel or copy autosync.py to location in $PATH
* won't fall over when a merge conflict happens (and a merge conflict will happen and even I, who uses git daily, would be unable to resolve it)
We are good at extrapolating and making connections but in this case extrapolating from "files, sync" to "my linux-only python script is a replacement of Dropbox" is about as valid as extrapolating from "wheels" to "my home made unicycle is a replacement of Toyota Prius".
You might not have intended to be so mean-spirited. I know I've sounded that way in the past. What helped me was to offer some kind of suggestions for improvement along with whatever criticisms I was dishing out. (Rather than just pointing out all of the flaws.)
"Don't advertise your project as a 'Dropbox Replacement' unless you actually are."
This project is open-source, has no domain name of it's own, no fancy video explaining how it works, no bullet-points explaining why people should dump Dropbox and start using his project, and the author doesn't seem intent on making money from it by advertising it as a 'personal Dropbox Replacement'. It's quite evident that only programmers are going to use this product, considering the dependencies and relative complexity of install procedure.
I don't see anything wrong with the way he has advertised his project as a 'Personal Dropbox Replacement'
If you're too kind, they think you aren't serious or are stupid, and they ignore it.
If you're too mean, people berate you for being mean.
Criticism is extremely valuable to a developer and they should be able to overlook any insults (intended or accidental) and absorb the mean of the criticism.
In this case, the criticism is that the project doesn't work as advertised. It is -not- a 'replacement for Dropbox'. You could probably stretch as far as 'Dropbox-like personal storage system using Git' or some such, but even mentioning Dropbox is iffy, since their whole model is user-friendliness.
[0] http://kitenet.net/~joey/blog/entry/new_git-annex_use_cases/
An uber simple interface that supported on every major platform is what makes it so awesome.
Dealing with gigabytes of files & revisions isn't git's forte.
You'd at least want to have the option to blow away some history as you run out of space or become confident that you'll never need it -- can't do that in git without re-writting the whole commit history from scratch and filtering out some commits.
In think in this case there is some confusion between backup and synchronization, both can be thought of as separate and git might not do well for either one in the general case. It might not be as good for backup, because you might want to blow away old snapshots and in case of synchronization. As for general bidirectional synchronization, you'd need some way to plugin in custom merge conflict resolution (can git do that?). For example you might have a policy that whenever you modify a file on the your laptop it should take precendence over the same file modified on your iphone, or some text files can handle merging while others should be replaced based on timestamp, or something like that.
True, default git won't work well. But you can handle large changing files git-style with a different approach; the bup backup system using git comes to mind (see https://github.com/apenwarr/bup & http://lwn.net/Articles/380983/) where what is stored are chunks of files, where xdelta and other diffs work efficiently.
Have you considered making a personal Dropbox replacement using it? I hear Brad Fitzpatrick is writing it as his Dropbox replacement.
(Also: competition is bi-directional - it's interesting to take a look at Camlistore's suggested usecases http://camlistore.org/docs/uses and think that Dropbox can do the same ...)
It's not a dropbox replacement, but it does the syncing job nice and simple with nothing else but unison, ssh and a shell script. I will eventually make a daemon using inotify so that it can sync in the background as well.
Also, it doesn't give you access from public computers the way dropbox does. You'd want a non-bare repository with gitweb or an apache directory listing, at the least.