Commit Briefs


Neels Hofmeyr

debug fix in diff_data_init_subsection


Neels Hofmeyr

debug: fix missing quote


Neels Hofmeyr

debug init subsection



Stefan Sperling

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.




Neels Hofmeyr

reflect ignore-whitespace in atom hash


Neels Hofmeyr

patience: use qsort




Neels Hofmeyr

debug: patience: mark unique debug



Neels Hofmeyr

debug fix: missing space



Stefan Sperling

fix build with PROFILE=1




Neels Hofmeyr

add test019 showing max-effort bug


Neels Hofmeyr

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.




Stefan Sperling

fix off-by-one access beyond mapped file in diff_data_atomize_text_lines_mmap()

Thread 1 received signal SIGSEGV, Segmentation fault. 0x0000013992a89eca in diff_data_atomize_text_lines_mmap (d=0x13b9b455668) \ at /home/stsp/src/got/got/../lib/diff_atomize_text.c:134 134 if (line_end[0] == '\r' (gdb) p pos $1 = (const uint8_t *) 0x13be402006d "" (gdb) p end $2 = (const uint8_t *) 0x13be4023000 <error: Cannot access memory at \ address 0x13be4023000> (gdb) p end-1 $3 = (const uint8_t *) 0x13be4022fff "" (gdb) p line_end $4 = (const uint8_t *) 0x13be4023000 <error: Cannot access memory at \ address 0x13be4023000>