Obviously, adding another dependency is hardly ideal. But I haven't found a simpler solution that "just works".
Additionally, relying on libgit2 instead of shelled-out git commands for the BuildTools module would make the changelog generation logic more portable, so that it could be used to implement a standalone changelog generator (for which I'd have other uses). Lastly, if a install (download/clone) command was to be implemented, it could also use this library.
The current approach is hacky to say the least. For debugging failed assertions, a better diff output would be helpful.
Goals:
Possibly relevant:
Obviously, adding another dependency is hardly ideal. But I haven't found a simpler solution that "just works".
Additionally, relying on libgit2 instead of shelled-out git commands for the BuildTools module would make the changelog generation logic more portable, so that it could be used to implement a standalone changelog generator (for which I'd have other uses). Lastly, if a
install
(download/clone) command was to be implemented, it could also use this library.