Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-24 Thread Barret Rhoden
Hi Michael - I dug into the code a bit more and have some more comments below. Take anything I say with a grain of salt; I'm still trying to understand how it all works. =) If you do have updates to your patch, see if you can make it apply onto my branch at https://github.com/brho/git/co

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-23 Thread Barret Rhoden
Hi Michael - I cobbled something together that passes my old git tests and all but one of your tests, though an assertion fails when I use it for real. See below. On 4/22/19 6:26 PM, mich...@platin.gs wrote: [snip] +static int *get_similarity(int *similarities, int max_search_distance_a, +

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-23 Thread Barret Rhoden
Hi Michael - FYI, here are a few style nits that I changed in my version, based on a quick scan. Not sure if these are all Git's style, but I think it's mostly linux-kernel style. I mention this mostly for future reference - specifically if we keep separate versions of this code. Hopefully

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-23 Thread Barret Rhoden
Hi Michael - On 4/22/19 6:26 PM, mich...@platin.gs wrote: + int *matching_lines = fuzzy_find_matching_lines(parent->file.ptr, + target->file.ptr, + parent->line_starts, +

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-23 Thread Barret Rhoden
On 4/22/19 6:26 PM, mich...@platin.gs wrote: From: Michael Platings Hi Barret, This patch is on top of your patch v6 4/6. Thanks, I'll take a look. I was working on taking your old version and integrating it with my v6 6/6. That way it gets the origin-fingerprint-filling code and can be

RE: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-22 Thread michael
From: Michael Platings Hi Barret, This patch is on top of your patch v6 4/6. Previously I pointed out that my code couldn't handle this case correctly: Before: commit-a 11) Position MyClass::location(Offset O) { commit-b 12)return P + O; commit-c 13) } After:

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-15 Thread Michael Platings
> My main concerns: > - Can your version reach outside of a diff chunk? Currently no. It's optimised for reformatting and renaming, both of which preserve ordering. I could look into allowing disordered matches where the similarity is high, while still being biased towards ordered matches. If you

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-15 Thread Barret Rhoden
Hi Michael - On 4/14/19 5:10 PM, Michael Platings wrote: Hi Barret, This works pretty well for the typical reformatting use case now. I've run it over every commit of every .c file in the git project root, both forwards and backwards with every combination of -w/-M/-C and can't get it to crash

Re: [PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-14 Thread Michael Platings
Hi Barret, This works pretty well for the typical reformatting use case now. I've run it over every commit of every .c file in the git project root, both forwards and backwards with every combination of -w/-M/-C and can't get it to crash so I think it's good in that respect. However, it can still

[PATCH v6 0/6] blame: add the ability to ignore commits

2019-04-10 Thread Barret Rhoden
This patch set adds the ability to ignore a set of commits and their changes when blaming. This can be used to ignore a commit deemed 'not interesting,' such as reformatting. The last patch in the series changes the heuristic by which ignored lines are attributed to specific lines in the parent c