Commit Briefs

Mark Jamsek

sync files from got.git 336075a42a5ae0fa322db734c481d21998e82bb8

ok tb@


Mark Jamsek

remove gcc ternary if extension

ok stsp@


Stefan Sperling

set diff box recursion limit to UINT_MAX by default

In practice, recursion is already limited by our Myers max-effort cut and this heuristic should generally provide a better split than a limit on the number of diff boxes. A recursion limit is only required for diff configs that do not include the Myers algorithm, which we currently don't have. Discussed with Neels



Neels Hofmeyr

undup code to add result chunks


Neels Hofmeyr

add sanity assertions around adding result chunks

uncovers errors related to placing minus chunks above already added plus chunks.


Neels Hofmeyr

patience debug


Neels Hofmeyr

debug fix in diff_data_init_subsection


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

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.



Neels Hofmeyr

debug: fix logging first chunk


Neels Hofmeyr

diff_algo_none: cosmetics






Neels Hofmeyr

debug tweaks for diff_state_add_chunk()