-
-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skip uninteresting commits for blame #1743
base: main
Are you sure you want to change the base?
Skip uninteresting commits for blame #1743
Conversation
50e9f97
to
20a90a2
Compare
Pass blame to parent in `process_change`. `git`’s algorithm only seems to keep the current suspect for unblamed hunks that were the direct result of splitting an existing unblamed hunk because it matched with a change. All other hunks appear to be blamed on the parent without further checks.
20a90a2
to
efa0057
Compare
I think (and hope :-)) that this PR is now ready for the first round of reviews. There’s still two or three Also, the traversal is now much closer to what
|
This PR is a PoC. It is a first attempt at implementing custom graph traversal for
blame::file
. This allows us to skip commits that we know don’t contain changes to the file being blamed. The PR is rough around the edges and contains a lot ofTODO
s andtodo!()
s.A first round of tests showed a significant reduction in the number of commits traversed for
gix blame STABILITY.md
:Also, profiling
gix blame STABILITY.md
on my machine revealed that the command took about 20 % less time to run.