Context: Wish number 2 of the German-speaking community wishlist 2015 is improving the diff algorithm, specifically when moving blocks of texts.
Problem: Currently, some changes are masked by other changes. For example, when a chunk of text is moved, people cannot see if there have been changes within the chunk of text, or whether it stayed the same.
Another problem is adding new lines, which sometimes confuse the algorithm, who then cannot match the first and second part of the chunk respectively. This again makes it hard for users to find the places where a change has actually happened.
Task:
We have already estimated that fulfilling the wish completely is probably not doable. Which are the parts that we could improve?
Check, at which costs/ risks/ benefits we could
- Fulfill the wish completely, e.g. by reusing WikEdDiff or any of the other tools @Jan_Dittrich mentioned?
- Highlight text blocks that have moved, but do not contain any changes within the text
- Have the diff algorithm not be confused because of introduced white lines
- realize other challenges presented here: https://www.mediawiki.org/wiki/User:PerfektesChaos/WikidiffLX
For context, please also have a look at
T121469: Improve diff compare screen
T15462: Enhance line matching in diffs with the screenshot T15462#2175978