Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been using git-annex[1] to handle this problem. It doesn't handle the synchronization instantaneously via a daemon, but that's trivial to add. Plus, it requires neither a centralized canonical repository nor complete synchronization of every file (only fetch the ones you need).

[1] http://git-annex.branchable.com/



That's very interesting, does it work well? There's a git-annex assistant, apparently, that works like Dropbox.


I haven't used the assistant, but yes, git-annex works well.

For example, my music collection is split across multiple hard drives in two different states - not by intention, of course; it's just what happens over the years. However, I can create a single folder on my laptop that organizes all of this music, even though it's far too large to fit on the laptop's hard drive. Even though the files exist on multiple hard drives, my laptop knows which ones have which files, so I know which hard drive I'd need to plug in to access a particular file.

Better yet, since this is a fully distributed setup, there's nothing magical about my laptop - I have a desktop that has another copy of the repository, and it too knows where all of the files are (even though it has a different subset of my music collection).

I can also back portions of the collection up without ever having my entire collection on a single drive. I can enforce redundancy - "make sure that three verifiable copies of this file exist on other drives before deleting it here". I can back up to Amazon S3 or Glacier. I can - well, do pretty much whatever you'd want to do on a non-distributed filesystem - except this is distributed.

Dropbox is a great idea - I'm happy that it exists, and I see its value for a lot of use cases, but at the end of the day, it's not really solving the problem of distributed data; it's just creating a centralized, canonical data store in the cloud that is capable of interacting with other data stores.

Dropbox is great, but at some point, it's nice to move on from SVN! :)

Keep in mind, I'm not trying to do any sort of version control on my files - it's strictly a way of managing a completely distributed filesystem. If you want versioning, git-annex apparently can do some of this too, but I can't speak to it.


Huh, that sounds very nice. I don't have use for it, as all my files sit on a NAS, but it sounds very useful in other cases.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: