HACKER Q&A
📣 hannes_paul

Would more apps build with Git back-end if there’d be a solid SDK?


Hi HN,

we are building a git-based localization solution (https://github.com/inlang/inlang) and we are wondering why there’s not more apps making use of git as their back-end.

Building on git has a bunch of advantages that are much harder to replicate with different architectures (automations, version control, minimal integration management etc) but very few projects use git to its full potential.

Right now building on git is full of tedious workarounds but do you think people would use a git-based architecture for more projects if there was a solid SDK to build with?


  👤 threesevenths Accepted Answer ✓
Have you seen [libgit2](https://libgit2.org/) and the csharp libgit2sharp? Both seem to be reasonable albeit low level interfaces to a repo.

My opinion is that you’ll still desire some other data store for indexing and searching as your application grows.


👤 billconan
I used to build a blog engine using git as the storage. As a result, my blog users can view their update histories and also collaborate on a post through a pull request like process.

behind the scenes , I used libgit2. By default, libgit2 uses the filesystem as storage backend, which is more difficult to scale than a database.

You can replace the default backend with your own database backend, but it seems to require lots of work.

If there was a solid SDK built for the above cloud use case, things could be easier for me.


👤 borplk
If you elaborate on specific use cases that will be useful.

git as a DB I think is not that useful. I'd guess in most cases you'd be better off with sqlite.

regarding the collaboration use-case I think it's also not that interesting outside of the usual code stuff.

Maybe some git-inspired features can be made such as diffs or merge requests but I don't think you'd neccessarily need the real git for that.


👤 PaulWaldman
Can you provide a few examples of apps you have in mind?

Are you indicating a service would fetch files from git based on user requests?


👤 karmakaze
The value of git is distributed operation and tamper-evidence. What would be the value of these attributes for a cloud-based app?

To me it seems more logical to use versioned data in a database that only the cloud app accesses.


👤 rurban
git is not that much usable with its endless merge conflicts, and fragile extensions. I built my text backup solutions (e.g. wiki) with RCS, to store only the diffs. Much easier to use than git, and rock-solid.

👤 intelVISA
libgit2 works pretty well, are you referring to content addressable storage in general or "Git-based architecture" specifically?