Skip to content

Conversation

@cruessler
Copy link
Contributor

This is a quick conversion of gix-blame to use imara-diff 0.2 through gix-diff’s new blob-experimental feature. I haven’t run any benchmarks yet, just wanted to open the PR, so you can have a look yourself! The update made one test that previously was marked should_panic pass, so that’s already promising. :-)

@Byron
Copy link
Member

Byron commented Dec 7, 2025

This looks very promising indeed! Some complexity now moved to imara-diff.

Let's see those performance comparisons as well :).
Until we are more sure how this works, you could put this change behind a feature flag as well, supporting both implementations side-by-side. Alternatively, this can stay open until we know what to do with V2. And… once it's clear that it is not slower, I guess it can just be adopted, provided all existing unified diff tests can be ported which will be quite an undertaking I suppose.

@cruessler
Copy link
Contributor Author

I added a feature flag, blob-experimental, to gix-blame. This should hopefully also make the full diff easier to read as it now mostly contains additions and very few changes.

I decided to re-use the comment to blob-experimental that I copied from gix-diff. Feel free to re-phrase, though.

I’ll mark this PR as ready even though CI hasn’t completed yet (so I can turn off my computer :-)). If anything comes up, I’ll address it, but apart from that, I hope it is finished.

The only thing that’s missing is proably a line such as the following one in justfile:

cargo nextest run -p gix-blame --features blob-experimental --no-fail-fast

@cruessler cruessler marked this pull request as ready for review December 13, 2025 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants