Hacker News new | past | comments | ask | show | jobs | submit login

"It doesn't have a library for efficient in-process access"

https://github.com/mojombo/grit





Yep, GitModel uses Grit.


Ah, via Ruby. RUBY?!??! Ah. Delightful.

YECCH

So, uh, can't we just make an efficient, well-designed, C library for accessing those data structures, write BSD-licensed wrappers as consenting adults, and get on with our lives? I'm speechless.

Is writing an append-only log data-structure system really that hard? Ok, then.


We use Grit extensively all over GitHub. It works quite well. I've yet to have a seizure from it.

At the same time, we're also funding work on libgit2, which is an efficient, well-designed C library for accessing those data structures. There's also wrappers for consenting adults. http://libgit2.github.com


Thanks for your informative response. Are you interested in a Lua wrapper?


I would love to see this happening. I could then port gitmodel on top of your lib and get a NoSQL DB, easy to sync with a single user desktop app for the iOS platform (in conjunction with Wax).


I may get to it this weekend. I'll keep you posted.



What's stopping you?


Git itself works fine, for my purposes. If I wrote a C library for managing git's data structures, it would basically be out of spite. I may make a Lua wrapper for libgit2, though - it's more what I had in mind (though it's too bad it's GPL'd).

I have a library for managing distributed graphs on top of an append-only log file, but it's got different design trade-offs than git does - It's for a specific C/Lua project, and the semantics of the data don't match git's.


libgit2 is GPLed, but importantly also has a libgcc-style exception.




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

Search: