Hacker News new | past | comments | ask | show | jobs | submit login
Dbignore – .gitignore for Dropbox (konolige.com)
75 points by tiedye on Aug 6, 2014 | hide | past | favorite | 14 comments



Anybody explain how this works?

Looks like it injects the Dropbox executable's lstat and open syscalls


That is exactly how it works. lstat and open are hooked so that they mark the file as non-existant if it is in the .dbignore file.


I had done something similar to this https://github.com/sarchak/smartcopy


How complicated would it be to update this for Win/Linux?


It shouldn't be too hard with linux. LD_PRELOAD should be able to accomplish the same thing as DYLD_INSERT_LIBRARIES. Windows will probably be a little harder as lstat does not exist.


I haven't looked at the code but my guess is it wouldn't be that hard. Implementing a quick filesystem on top of FUSE and pointing Dropbox to it.


What happens if another client adds an ignored file and the current one tries to sync? I guess Dropbox will try to create it and fail repeatedly?

Neat trick!


I don't know if you are the author, but why Haskell? Not to say it's a bad choice, I am just curious.


I enjoy programming in Haskell, and this was an opportunity to practice. I initially wrote it in Objective-C++, but I found a good trie implementation in Haskell. Eventually, I want to make the entire project Haskell.


This is great! Nice implementation too.

I'm seeing no such file or directory on .dropbox_inj.dylib is that normal? https://github.com/tkonolige/dbignore/issues/4


Can't tell you how awesome this is (both the idea and implementation). I've actually had to turn off Dropbox recently since things like node_modules just kills my computer when Dropbox is indexing.


The title should probably reflect that this is mac only?


That seems unnecessary. The entire page is only 126 words and it's clearly stated that only OSX is supported.


That is something I was dreaming of!!!

I run to understand more on github. Thanks for building it




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

Search: