Module gall
Git Abstraction Layer for Lua
Gall is an abstraction layer, allowing Lua programs to manipulate Git repositories without needing to run the Git program and process its output directly.
Gall will use libgit2 where it has in-process code to do so, and will call out to the Git binary where reimplementing things in-process would be awkward or error-prone.
NOTE: gall is not trying to be a complete API onto Git at this time. Instead it is aiming to provide a fairly complete read-only interface to enough of a Git repository to facilitate a Git server’s ACLs and also enough of a write-interface to ensure that such a server can store its config etc in a Git repository.