@jru Just some a quick hint:

The `TreeDefinition` and the `ObjectDatabase` types operate directly against the git object database.
This slightly differs from standard git.git scripting practices because this doesn't require to involve the index nor to alter the working directory.