Commit Briefs

d362ea2e85 Stefan Sperling

move 'struct range' and related functions into the diff_ namespace

no functional change



0d27172a82 Neels Hofmeyr

KNF: use max 80 columns


61a7b57805 Neels Hofmeyr

KNF: function declaration return types on separate line


760fe30eb1 Neels Hofmeyr

diff cmdline tool: allow using Patience by -p arg



b47897f387 Neels Hofmeyr

add test012

test010 has a weird failure to find a good diff. This new test, when setting the permitted_state_size = 100, gives a shorter failure that test010, to allow easier debugging.



f71e809832 Neels Hofmeyr

fix diff_algo_myers_divide's finding of midpoints

When forwards and backwards traversals meet, the endpoints of the mid-snake are not the two points in kd_forward and kd_backward, but rather the section that was slid (if any) of the current forward/backward traversal only. For example: o-o-o | | o A | \ o o \ M |\ o o-o-o | | | o o X \ o \ o \ o The backward traversal reached M from the bottom and slid upwards. The forward traversal already reached X, which is not a straight line from M anymore, so picking a mid-snake from M to X would yield a mistake. The correct mid-snake is between M and A. M is where the bottom traversal hit the diagonal that the forwards traversal has already passed, and A is what it reaches when sliding up identical lines.


50198b5f2f Neels Hofmeyr

debug: myers graph dump tweaks

In debug output: fix some indents, fix printing of max state size, in myers graph, limit x axis labels to 2 digits, print colored markers of current myers graph positions, also print myers-divide positions in myers graph.


09c9539493 Neels Hofmeyr

comment tweak



501e780790 Neels Hofmeyr

add test010, test011


a5cbcf9c3c Neels Hofmeyr

Only print (unified) header in unified format.


9dabce8a40 Neels Hofmeyr

Remove unused `arbitrary_info'.


fd42ca98a7 Neels Hofmeyr

diff_divide_myers_forward(): less indent by 'continue'


9cc4969586 Neels Hofmeyr

diff_output_unidiff(): less indent by 'continue'


b858fc9f8b Neels Hofmeyr

Compat goo for gmake/glibc/Linux


826c8cf159 Neels Hofmeyr

Kill unused variables


15ac50e24f Neels Hofmeyr

Fix macro diff_atom_*idx return value types

The macros sometimes returned unsigned int (atoms.len) or long int ((ATOM) - head). Make that always unsigned int, with some range checks against negative values.


8ad022d28e Neels Hofmeyr

diff.c: move two #include to the top




c620ba7f92 Neels Hofmeyr

lib/linux_Makefile: -O3


13b1527373 Neels Hofmeyr

debug: dump at most 42 lines