1. 29

  2. 3

    Is there a visual example of the lowdown-diff output? I was disappointed not to see a ready comparison of the output versus the diff and wdiff examples in the introduction.

    EDIT: Apparently I missed the line near the top:

    For a quick example of this functionality, see diff.diff.html, which shows the difference between this document and a [fabricated] earlier version.

    1. 3

      Thanks—I’ll put in an in-line exemplar as well when next editing.

    2. 1

      (Minor typo: “rooted at thd node”. Might want to fix that.)

      1. 2

        Thanks, noted! (Will push when document is next updated.)

      2. 1

        This is quite neat. One question from someone who didn’t compile the code and play with it: the “XML diff” algorithm BULD seems almost insensitive to ordering, but the order of text matters a lot (and classic diff - and your merge algorithm - are very linear comparisons.) Does the algorithm “behave” once you start moving blocks?

        Thanks for sharing!

        1. 2

          BULD works on ordered trees—that was one of the reasons it was chosen. And it indeed supports the “move” concept in the edit script. In the lowdown implementation (specifically, in the merging algorithm), moves are made into insert/delete simply for the sake of readability of the output. It’s straightforward to extend the API to have “moved from” and “moved to” bits. Then have a little link in the output. Maybe in later versions…