Commits
- Commit:
810479a563ffd6176105f64cb49f9829d45d36df
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
sync diff_patience.c from got.git 336075a42a5ae0fa322db734c481d21998e82bb8
- Commit:
86b603da3068dce115470492279dc6f86f17f60b
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience: do not swallow identical neighbors
This does not make much sense, because if common-unique lines swallow
their neighboring ones, they count less, and another bad, shorter
sequence may gain more weight than a very long sequence that was
combined to just one common-unique chunk. It also much simplifies the
code and avoids bugs we had to implement complex fixes for before.
- Commit:
fe6d58fb52ea8d1041a8eb65e28a04816df67c08
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
add a missing include for uint8_t and switch from <inttypes.h> to <stdint.h>
ok millert stsp
- Commit:
ab378e1f5dfdd34727e7eb8a2ccb8c6d42bc6e89
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix patience diff assertion failure exposed by test122
- Commit:
67157248154a23138c2b7ff2eebecbdf3d079ef7
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
fix patience: off-by-one preventing swallow the same identical line twice
- Commit:
ae2763e9e2c27e22c7ab84b7250a49c2fd3dd9f6
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
fix patience crash: iron out overlapping identical-blocks on the right
- Commit:
46093fc37f745d0bcbf997d84fbc676fd3f468d5
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
remove stray blank line
- Commit:
10ae3a65609c50cc21f975749f15afdcdc514126
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience debug
- Commit:
a5de2633143c41b5d79b996d2b8f64df0808eaeb
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience comments
- Commit:
9f9e0ab43b25a75c30b677d0642dddfe868f4f34
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
cosmetic: patience: use local var 'r' for right atom
- Commit:
ca1af2458002521a86c887db84fe24ccc7002ab9
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
cosmetic: rename local var from 'r' to 'rc'
- Commit:
1c7f8717f7d2453699badd65470c3990e8eb5585
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience: use qsort
- Commit:
72e4a018d51ae1a3a7c2870aa8dc33cbad2c3143
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience: optimize: less diff_atom_cmp() via hash
- Commit:
123481a5f49c26d4316bfac1b8f5599384e17d11
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
fix patience iteration error; also makes dramatically faster
- Commit:
49307efefc236997dc103c7749064d68b089c88f
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
debug: patience: mark unique debug
- Commit:
ca6fcbdce0110845f1195d2d1f5a14ed52a45baf
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience: make it easy to switch impls for mark_unique
- Commit:
b229234e62efcc9119fc7b321ca1e3846d678b12
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix missing allocaion failure check in diff_algo_patience()
- Commit:
12c5bde7b2b0371050910b2446b9aaad5fc44573
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use mergesort(3) instead of qsort(3) in patience diff
Fixes test failures on OpenBSD due to unstable results of qsort if
two or more elements are equal.
Add a compat copy of OpenBSD mergesort(3) for Linux.
- Commit:
f087e96869b35f67db93f1a9a3df95d0dc9da883
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
check for allocation failure in diff_atoms_mark_unique_in_both_by_qsort()
- Commit:
227cd87e537c560f428629cf170b0f19422b1c56
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
wrap a comment that had overlong lines
- Commit:
65688edf4c58356b6a78c043dae1a4832532b84f
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience: fix uninitialized rc in diff_atoms_qsort_compar
- Commit:
6c8c5d3f0b6b2ba6c23acd67179fd37e8f2af66b
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
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).
- Commit:
60b6e08bf7113461bbe0ce511caf96a31121b143
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
patience: use qsort to optimize finding unique lines
- Commit:
1dfba0555efd6b616811906d011f96945be90dcc
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
move headers from include/diff/ to include/; makes things easier for consumers
- Commit:
2a1b94d029d73b14949971a9f159da4670584ee9
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
repair DEBUG build