Diffamation - Bug Report


Diff algorithm

The current diff computation has some bugs. The initial algorithm we use is meant to compute the moves operations. However, Diffamation does not yet support the moves. As a result, the diff is sometimes wrong and provokes a strange behaviour in Diffamation (text jumps, stabilization bugs, ...).

We have a mechanism that checks whether the diff is correct or not. An error message is displayed on the standard output when the so-called PonsDiff is not correct.

Note for the developers

In its current shape, it is not trivial to replace every move operation by an insert/delete combinaison. As showed in this detailed example the moves consider text that might have been already edited (inserted, or already moved text) making it difficult to maintain indices and edited content. Please contact us if you plan to work on this so that we can provide you with more details.