Permalink
Commits on Oct 31, 2011
  1. gitweb: Add navigation to select side-by-side diff

    kzys authored and gitster committed Oct 30, 2011
    Add to the lower part of navigation bar (the action specific part)
    links allowing to switch between 'inline' (ordinary) diff and
    'side by side' style diff.
    
    It is not shown for combined / compact combined diff.
    
    Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. gitweb: Add a feature to show side-by-side diff

    kzys authored and gitster committed Oct 30, 2011
    This commits adds to support for showing "side-by-side" style diff.
    Currently you have to hand-craft the URL; navigation for selecting
    diff style is to be added in the next commit.
    
    The diff output in unified format from "git diff-tree" is reorganized to
    side-by-side style chunk by chunk with format_sidebyside_diff_chunk().
    This reorganization requires knowledge about diff line classification,
    so format_diff_line() was renamed to process_diff_line(), and changed to
    return tuple (list) consisting of class of diff line and of
    HTML-formatted (but not wrapped in <div class="diff ...">...</div>) diff
    line.  Wrapping is now done by caller, i.e. git_patchset_body().
    
    Gitweb uses float+margin CSS-based layout for "side by side" diff.
    
    You can specify style of diff with "ds" ('diff_style') query
    parameter.  Currently supported values are 'inline' and 'sidebyside';
    the default is 'inline'.
    
    Another solution would be to use "opt" ('extra_options') for that...
    though current use of it in gitweb seems to suggest that "opt" is more
    about passing extra options to underlying git commands, and "git diff"
    doesn't support '--side-by-side' like GNU diff does, (yet?).
    
    Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>