Commit Briefs

70fb5a4714 Neels Hofmeyr

diff_myers: fix some uninitialized warnings




99193dbfc9 Neels Hofmeyr

add test for -T option

This uncovered a bug in diff_algo_none(), so let's keep it.


6c8c5d3f0b Neels Hofmeyr

move patience data out of struct diff_atom

Now allocating patience specific data only when patience is going to be used. This may allow using forward-Myers more often, since the state size per line is significantly smaller. Patience instead allocates an array, puts it in the current diff_data, and also place a pointer of the current diff_data in the root diff_data (since each atom points to the root diff_data).


c8846eb959 Neels Hofmeyr

add patience tests


23f98e9b0c Neels Hofmeyr

test/verify_all.sh: allow combined cmdline opts


60b6e08bf7 Neels Hofmeyr

patience: use qsort to optimize finding unique lines


ad5b3f8555 Neels Hofmeyr

rename diff_atom->d to diff_atom->root, because it always is

The idea was that for each diff box within the files, the atoms would have a backpointer to the current layer of diff_data (indicating the current section), but it is not actually needed to update the backpointer in each atom to the current diff_data. That is why the current code always points atom->d to the root diff_data for the entire file. Clarify by proper name. Constructs like atom->d->root->foo are redundant, just use atom->root->foo.


65a56b169e Neels Hofmeyr

diff: drop -p, add -P -Q -T; diffreg(): use algo enum

-p is traditionally used for "show which C function each change is in", so don't use it for choosing Patience. Instead add two options for using Patience, -P for only Patience and -Q to attempt forward-Myers first. Also add -T for a trivial diff (diff_algo_none).


93965884a1 Neels Hofmeyr

test: add expect0{10,11,12,14}.diff


746d94dfa3 Neels Hofmeyr

diff_main: don't run algo if left or right are empty


acfce337ad Neels Hofmeyr

debug: fix logging first chunk


e5447b812a Neels Hofmeyr

diff_algo_none: cosmetics


9dc0554fce Neels Hofmeyr

fix diff_algo_none() for ending in plus chunk


7de1313c10 Stefan Sperling

ignore compiled files in all directories


384c09ad05 Stefan Sperling

fix missing newline in ed script diff output


4f58e89131 Stefan Sperling

make the C tests compile and run on both OpenBSD and Linux


e14ee64c98 Stefan Sperling

remove arraylist_test during 'gmake clean'


eac85e68ef Stefan Sperling

rename GNU-make-specific Makefile to GNUmakefile


548d976202 Neels Hofmeyr

verify_all.sh: run all tests, then list all errors


3e6df91676 Neels Hofmeyr

run C tests in verify_all.sh


3e66d05b2c Neels Hofmeyr

add arraylist_test


87c3134182 Neels Hofmeyr

add results_test.c


93f8150ade Neels Hofmeyr

results: also combine chunks coming from temp_chunks