xref: /freebsd/contrib/libdiff/README (revision 745c6c0431d01b4fc3247f4eac08a2181d71e008)
1This is a collection of diff algorithms, to test various combinations.
2
3The initial aim was to provide a faster diff implementation for got
4(gameoftrees.org) with a BSD license, at the u2k20 OpenBSD hackathon.
5A side effect could be improving OpenBSD's /usr/bin/diff utility.
6
7At the time of writing, this is little more than a playground / benchmark basis
8/ diff algorithm analysis platform. What could be done:
9- add profiling and test series to rate diff algorithm combinations.
10- interface with / merge into got.
11
12The Myers and Patience Diff algorithm implementations found here are based on
13the explanations found in these blog post series:
14  https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1/ ff.
15and
16  https://blog.jcoglan.com/2017/09/19/the-patience-diff-algorithm/ ff.
17-- possibly the single most comprehensive explanations of these algorithms.
18Many thanks for this valuable door opener!
19The source code itself is not based on the code found in those blogs, but
20written from scratch with the knowledge gained.
21
22Compile:
23  make -C diff
24
25Test:
26  make -C test/
27