NRWLDev / changelog-gen

Changelog generation tool.
Apache License 2.0
1 stars 0 forks source link

Investigate dulwich as git subprocess replacement #13

Open EdgyEdgemond opened 4 months ago

EdgyEdgemond commented 4 months ago

https://github.com/jelmer/dulwich

EdgyEdgemond commented 4 months ago

https://github.com/jelmer/dulwich/discussions/1345

EdgyEdgemond commented 4 months ago

Speed ups look negligible (not worth the additional brittleness of the dulwich implementations), the slowest part of GitPython is commit, and that is actually the commit hooks running.

GitPython is currently 5x faster than dulwich when commiting. Add in commit hooks and its a difference of 20ms (dulwich slower)

Where dulwich is faster, GitPython is ~1ms. Not major gains.

Being able to drop a library that wraps a cli with subprocess would be lovely, but right now it doesn't feel like its dulwich. Will keep an eye out for https://github.com/Byron/gitoxide/discussions/1279

Initial playaround code exists on https://github.com/NRWLDev/changelog-gen/tree/feat/13 with unittests to validate both implementations.