Junio C Hamano [off-list ref] writes:
What's wrong is that the ancestry graph around that commit
roughly looks like this:
z---o---o---o
/ \
808239a--v1.4.3--o---*---o---v1.4.4
...
While what blame outputs is technically correct, it is not very
useful for this kind of application. As you said, it probably
makes sense to gray-out the lines that are blamed on boundary
commits.
Side note: one might be tempted to say "then blame v1.4.3 for
lines that 808239a is blamed for", but that is a good
Gaah. "that is NOT a good workaround". Sorry about the wasted
bandwidth.
workaround. The original command line could have more than one
bottom commits, and the final blame might go to a common
ancestor of them, and we need to randomly choose between them,
which is worse than telling the truth as we currently do.