Issue 473: Error with line-level differences
Status:  Released
Owner: ----
Closed:  Mar 2012
Project Member Reported by Shane...@gmail.com, Feb 27, 2010
Affected Version:

2.1.2-rc1-22-g2b5ce1a

What steps will reproduce the problem?
1. View
http://gerrit.dmdirc.com/#patch,sidebyside,932,2,src/com/dmdirc/parser/common/IgnoreList.java

What is the expected output? What do you see instead?

This change mostly changes just the start of the lines (changes some tabs
to spaces).

Previous versions of gerrit showed this correctly (highlighting just the
start of the line that actually changed, but not highlighting the "}") but
now it highlights big chunks of stuff that didn't actually change.

Please provide any additional information below.

I'm not sure when this was changed, but the only commit that strikes me as
possibly having an effect is https://review.source.android.com/#q,13712,n,z
Mar 1, 2010
#1 sop@google.com
Ugh.  I think I understand the problem.

We have a heuristic that says if two intraline difference
edit regions are less than 5 characters apart, combine them
together so they form one region.  This usually works for a
word change, to prevent single characters from becoming tiny
little islands of context in a sea of rewritten content.

In this case, most of the line content in question was a
rewrite.  So there is less than 5 lines of context on the
lines that have "<INDENT>/**\n" or "<INDENT>}\n".  Thus it
is pulling the "/**\n" or or "}\n" in as part of the edit
coalescing its trying to do.

I can try to teach it not to coalesce non-words, or at the
least to not coalesce major tokens like {} and \n.
Status: Accepted
Labels: FixedIn-2.1.2
Mar 1, 2010
#2 sop@google.com
Fixed by change I93762d07d34eb71269ea6758ac3466a5351f8dbf
Status: Fixed
Mar 27, 2012
#3 sop@google.com
(No comment was entered for this change.)
Status: Released