Re: [PATCH v3 5/8] gitweb: Use print_diff_chunk() for both side-by-side and inline diffs
Show 29 quoted lines
> This renames print_sidebyside_diff_chunk() to print_diff_chunk() and
> makes use of it for both side-by-side and inline diffs. Now diff lines
> are always accumulated before they are printed. This opens the
> possibility to preprocess diff output before it's printed, which is
> needed for diff refinement highlightning (implemented in incoming
> patches).
>
> If print_diff_chunk() was left as is, the new function
> print_inline_diff_lines() could reorder diff lines. It first prints all
> context lines, then all removed lines and finally all added lines. If
> the diff output consisted of mixed added and removed lines, gitweb would
> reorder these lines. This is true for combined diff output, for
> example:
>
> - removed line for first parent
> + added line for first parent
> -removed line for second parent
> ++added line for both parents
>
> would be rendered as:
>
> - removed line for first parent
> -removed line for second parent
> + added line for first parent
> ++added line for both parents
>
> To prevent gitweb from reordering lines, print_diff_chunk() calls
> print_diff_lines() as soon as it detects that both added and removed
> lines are present and there was a class change.
, and at the end of hunk.
I think it is worth adding the above to the commit message.
--
Jakub Narebski
Poland