Junio C Hamano <gits...@pobox.com> writes:

> When looking at a merge, "git blame" inspects the blob object names
> of all parents and if one of them exactly match the merge result,
> pass the entire blame down to that parent.  This is very much in
> line with the history simplification done with "git log" when
> traversing a history with merges.


> Now, imagine if you amend M to create N, to add a single line at the
> end of path.  M:path != N:path but there is very small difference
> between the two.  That means B:path != N:path but the difference
> between this merged result and the second parent is very small.

That sounds very much like

commit d5df1593f27bfceab807242a538cb3fa01256efd
Merge: 7144168 0b4e246
Author: Junio C Hamano <gits...@pobox.com>
Date:   Fri Feb 28 13:51:19 2014 -0800

    Merge branch 'bl/blame-full-history' into pu
    By disabling the tree-same optimization (which is consistent with
    the default behaviour of "git log"-family of commands), make "git
    blame" sometimes produce different result from the original code.
    Because the "git blame" output can give result for each line from
    only one lineage of the history, however, this can be only useful
    when you are lucky---unlike "--full-history" of "git log"-family,
    where we can show commits from both lineages of histories with an
    equal weight.  See $gmane/240392 for more detailed discussion.
    * bl/blame-full-history:
      blame: new option --prefer-first to better handle merged cherry-picks

David Kastrup
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to