I've been looking over the libgit2 C API reference, but I don't see how I could emulate the behaviour of git commit --allow-empty. Does libgit2 have a built-in way to create empty commits? If not, how does git create an empty commit under-the-hood, and how should I go about achieving the same behaviour using libgit2?