Felipe Contreras <felipe.contreras@xxxxxxxxx> writes: >> IIRC, git-gui runs two blames, one without any -C and one with (I do >> not offhand recall how many -C it uses) to show both. > > 'git blame' is a very expensive operation, perhaps we should add > another option so users don't need to run two blames to find this. Yes, you could add a "struct origin *suspect_in_the_same_file" next to the current "struct origin *suspect" to the blame_entry in order to represent the origin you would get if you were to stop at a "move across files" event, and keep digging, when you are operating under "-C -C" or higher mode. That would make the result just as expensive as a single run of "-C -C" (or higher mode) [*1*] without having to run an extra "git blame" without any -C (even though that mode is much cheaper). Representing the result for a terminal with reasonable width might become unwieldy, but for --porcelain output format that should not be a problem. [Footnote] *1* It would make it slightly more expensive than the current code, as it is very likely that you have to split a single blame_entry into many separate pieces. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html