Closed aspiers closed 11 months ago
I had a go at this but it seems that migrating to pygit2's blame actually slows things down. It's unclear to me what's going on under the hood (I'd need to be able to debug libgit2 itself).
That's strange, but thanks a lot for trying! Maybe ask the pygit2 or libgit2 community for advice?
According to my experiments the slowdown is due to libgit2 itself: https://github.com/libgit2/libgit2/issues/3027. Looking at their repository it seems that their implementation of blame is not very ripe (for instance https://github.com/libgit2/libgit2/pull/6572 fixes a correctness issue and has been open for months) and is apparently unmaintained as the contributor who contributed blame support is not active there anymore.
So it's probably better to stick to the current solution.
Well thanks a lot for trying anyway! I guess we just need to watch this space...
If the new impl works, would it be sensible to leave it behind a gruesomely named opt in, so a test could track when upstream libgit is doing better?
Makes sense!
Around the same time I originally developed
git-deps
, the good pygit2 folk added blame support topygit2
. However it didn't quite work. I fixed it but still need to convertgit-deps
to take advantage. This should result in a fairly significant performance boost.