On Thu, Oct 28, 2010 at 12:46 PM, Andrew Schwartz <aschwa...@gmail.com>wrote:

>   - have a "rollup" mechanism. As the additional revisions are added, the
> changes are rolled up into one aggregate diff. (I assume this would be very
> complicated code and so might not be doable without significant risk)
> What do you mean?
Say there are 2 diffs/revisions in the CR. The diff is then between v1 and
v2. Comments are applied to lines in v2. So far so good.

A new version v3 is added to the CR. The diff is then "rolled forward" so it
now shows the diffs between v1 and v3. The comments applied to lines in v2
are moved to the correct lines in the version 3 text. (And there is no more
"v2" anymore, there's one and only one diff).

A new version v4 is added to the CR and the diff is rolled forward again to
show the difference between v1 and v4; comments in v2 and v3 rolled forward
too; v3 is removed.

And so on...

Another way to look at it is it's a "left-anchored diff". The left-hand side
of the diff never changes, only the right hand side does.

Like I said, the algorithm likely has many edge conditions and exceptions
and so is likely to be very complicated code.


Want to help the Review Board project? Donate today at 
Happy user? Let us know at http://www.reviewboard.org/users/
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to