| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-07-08 | Replace std::unique_ptr with a custom implementation | Maxime Coste | |
| <memory> is a costly header we can avoid by just implementing UniquePtr ourselves, which is a pretty straightforward in modern C++, this saves around 10% of the compilation time here. | |||
| 2023-12-26 | Take eq predicate by reference in for_each_diff | Maxime Coste | |
| 2020-03-20 | Remove posB from information given by the diff algorithm | Maxime Coste | |
| posB is always the sum of previous add len and previous keep len, so very easy to keep track of. | |||
| 2020-03-20 | Remove uses of reverse_iterator in diff implementation | Maxime Coste | |
| 2020-02-18 | Make diff implementation able to work on different iterator types | Maxime Coste | |
| 2019-12-01 | src: Fix the build on Mac | Frank LENORMAND | |
| When compiled on Mac with `clang`, the following error occurs at compile-time: ``` ./diff.hh:56:28: error: no member named 'min' in namespace 'std' const int max_D = std::min((M + N + 1) / 2 + 1, cost_limit); ~~~~~^ ``` | |||
| 2019-11-30 | Refactor diff to make allocating a diff vector optional | Maxime Coste | |
| The diff interface now goes through a for_each_diff function that uses a callback for each found diff. | |||
| 2018-02-09 | diff: try to improve code readability | Maxime Coste | |
| 2017-09-07 | Small code simplifications | Maxime Coste | |
| 2017-07-23 | Limit diff algorithm complexity | Maxime Coste | |
| Return a non-optimal, but valid, diff when we detect too many iterations Fixes #1509 | |||
| 2017-07-20 | More cleanups in diff code | Maxime Coste | |
| 2017-07-18 | Use the provided equal functor for prefix/suffix detection in diff | Maxime Coste | |
| We were wrongly using the `==` operator. | |||
| 2017-07-18 | More refactoring of the diff code in order to make it cleaner | Maxime Coste | |
| 2017-07-18 | Change diff Implementation to use end indices instead of length | Maxime Coste | |
| Having absolute begin and relative lenght was a bit strange to work with. Rename middle_snake to snake. | |||
| 2017-07-17 | Slight style change | Maxime Coste | |
| 2017-07-17 | Refactor find_diff_rec and detect kept prefix/suffixes early | Maxime Coste | |
| Certain cases, like diffing an empty buffer with a big buffer, were very slow, now this should get better as we will directly detect the matching eol at the end of both buffers, end then immediatly detect we need to add the rest of the big buffer. We still are too slow on some general diff when there is a lot of differences. | |||
| 2017-07-17 | Remove MirroredArray for diff implementation | Maxime Coste | |
| We can index native arrays negatively, so just setup V1 and V2 to point in the middle of the work arrays and remove the need for creating MirroredArray. | |||
| 2017-07-15 | Small code cleanup in diff implementation | Maxime Coste | |
| 2017-01-29 | Remove unused Diff::posA field | Maxime Coste | |
| 2015-11-19 | Remove trailing whitespaces | Michael Vetter | |
| 2015-07-13 | Formatting tweak | Maxime Coste | |
| 2015-05-19 | Add headers guard to diff.hh along with a comment about the algorithm | Maxime Coste | |
| 2015-05-18 | Fix bug in diff implementations (missing snake after d=1 change) and refactor | Maxime Coste | |
| 2015-05-17 | Only initialize element 1 in mirrored arrays. | Maxime Coste | |
| 2015-05-15 | Another bug fix in diff implementation | Maxime Coste | |
| 2015-05-14 | always_inline a few methods | Maxime Coste | |
| 2015-05-14 | Fix bugs in diff implementation | Maxime Coste | |
| 2015-05-13 | Fix diff implementation and change the Diff struct format | Maxime Coste | |
| 2015-05-12 | Add initial diff implementation based Eugene W. Myers' algorithm | Maxime Coste | |
