Re: [PATCH v6] Add new git-related helper to contrib
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:57:24
Felipe Contreras [off-list ref] writes:
quoted
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.