aspiers / git-deps

git commit dependency analysis tool
GNU General Public License v2.0
298 stars 47 forks source link

use pygit2's blame support #1

Closed aspiers closed 11 months ago

aspiers commented 9 years ago

Around the same time I originally developed git-deps, the good pygit2 folk added blame support to pygit2. However it didn't quite work. I fixed it but still need to convert git-deps to take advantage. This should result in a fairly significant performance boost.

wetneb commented 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).

aspiers commented 11 months ago

That's strange, but thanks a lot for trying! Maybe ask the pygit2 or libgit2 community for advice?

wetneb commented 11 months ago

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.

aspiers commented 11 months ago

Well thanks a lot for trying anyway! I guess we just need to watch this space...

RonnyPfannschmidt commented 11 months ago

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?

aspiers commented 11 months ago

Makes sense!