Skip to content

Commit

Permalink
gitweb: Give side-by-side diff extra CSS styling
Browse files Browse the repository at this point in the history
Use separate background colors for pure removal, pure addition and
change for side-by-side diff.  This makes reading such diff easier,
allowing to easily distinguish empty lines in diff from vertical
whitespace used to align chunk blocks.

Note that if lines in diff were numbered, the absence of line numbers
[for one side] would help in distinguishing empty lines from vertical
align.

Signed-off-by: Jakub Narebski <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
jnareb authored and gitster committed Oct 31, 2011
1 parent 6ba1eb5 commit 970fac5
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 10 deletions.
39 changes: 29 additions & 10 deletions gitweb/gitweb.perl
Original file line number Diff line number Diff line change
Expand Up @@ -4890,7 +4890,7 @@ sub print_sidebyside_diff_chunk {
# empty contents block on start rem/add block, or end of chunk
if (@ctx && (!$class || $class eq 'rem' || $class eq 'add')) {
print join '',
'<div class="chunk_block">',
'<div class="chunk_block ctx">',
'<div class="old">',
@ctx,
'</div>',
Expand All @@ -4902,15 +4902,34 @@ sub print_sidebyside_diff_chunk {
}
# empty add/rem block on start context block, or end of chunk
if ((@rem || @add) && (!$class || $class eq 'ctx')) {
print join '',
'<div class="chunk_block">',
'<div class="old">',
@rem,
'</div>',
'<div class="new">',
@add,
'</div>',
'</div>';
if (!@add) {
# pure removal
print join '',
'<div class="chunk_block rem">',
'<div class="old">',
@rem,
'</div>',
'</div>';
} elsif (!@rem) {
# pure addition
print join '',
'<div class="chunk_block add">',
'<div class="new">',
@add,
'</div>',
'</div>';
} else {
# assume that it is change
print join '',
'<div class="chunk_block chg">',
'<div class="old">',
@rem,
'</div>',
'<div class="new">',
@add,
'</div>',
'</div>';
}
@rem = @add = ();
}

Expand Down
13 changes: 13 additions & 0 deletions gitweb/static/gitweb.css
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,19 @@ div.chunk_block div.new {
width: 50%;
}

div.chunk_block.rem div.old div.diff.rem {
background-color: #fff5f5;
}
div.chunk_block.add div.new div.diff.add {
background-color: #f8fff8;
}
div.chunk_block.chg div div.diff {
background-color: #fffff0;
}
div.chunk_block.ctx div div.diff.ctx {
color: #404040;
}


div.index_include {
border: solid #d9d8d1;
Expand Down

0 comments on commit 970fac5

Please sign in to comment.