Commits


patience comments


cosmetic: patience: use local var 'r' for right atom


cosmetic: rename local var from 'r' to 'rc'


debug fix in diff_data_init_subsection


debug: fix missing quote


debug init subsection


debug fix after changing result->left,right to pointers


allow diff API users to atomize files separately This is a breaking API change (not that we care about that at this point). This can avoid redundant work spent on atomizing a file multiple times. There are use cases where one particular file must be compared to other files over and over again, such as when blaming file history. The old API gave access to both versions of the file to the atomizer just in case a future atomizer implementation needs this. This can still be achieved by passing a second file via the atomizer's private data pointer.


C++ function prototype support based on OpenBSD's diff(1) code


optimize diff_atom_same(): if hashes differ, return false


reflect ignore-whitespace in atom hash


patience: use qsort


patience: optimize: less diff_atom_cmp() via hash


fix patience iteration error; also makes dramatically faster


debug: patience: mark unique debug


diff_atom_cmp: no special case for ignore whitespace when both atoms empty


debug fix: missing space


cache kd_buf in struct diff_state to avoid repeated allocation + free


fix build with PROFILE=1


patience: make it easy to switch impls for mark_unique


fix myers_divide max-effort cut, wrong x for backwards coordinate


add test019 showing max-effort bug


debug output fixes - fix compilation error with DEBUG 1, after moving patience state out of diff_atom, and after renaming diff_data.d to diff_data.root. - add some missing newlines. - also debug "HIT" on a max-effort cut, like when finding a mid snake, which eases finding all the places where boxes get cut.


fix off-by-one in the off-by-one fix made in bdfcb086


don't require both + and - chunks in diff_chunk_context_load_change()