Commits
- 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:
df581e4b0ed88464667ca88d51a6b93d1159c0c0
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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
- Commit:
60c6aae16f7ac9b67326d34fca6de68561e97c0e
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
set a minimum myers effort limit to avoid an early short-cut on small files
discussed with Neels
- Commit:
e4c510c1d83fe01247b6f59d855dffad81e4f26a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
allow for telling the difference between empty and non-existent files
Adjust labels used in diff output accordingly; non-existent files
should have the label "/dev/null"
- Commit:
e51ebd83fa731d197ee4074ee2e94dbc0581078c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
handle binary files like diff(1) does; new -a option forces text
- Commit:
29916bb6c0c248ca6fa5486cb9e081d92112e86c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
expose struct diff_atom in public API for external atomizer implementations
- 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:
d1085492979de6b79ca99fd96cbbb5799a83aa82
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a test case which triggers an assertion in diff -P
- Commit:
c285a1f8b9de1be75e044892c4c7af139e5156bc
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add another test case where a context line appears as both - and +
This line appears as a context line with regular diff(1) and git diff:
crd->crd_key = sd->mds.mdd_crypto.scr_key[0];
[[[
+ crd->crd_alg = sd->mds.mdd_crypto.scr_alg;
+ crd->crd_klen = sd->mds.mdd_crypto.scr_klen;
crd->crd_key = sd->mds.mdd_crypto.scr_key[0];
- bcopy(&blk, crd->crd_iv, sizeof(blk));
+ memcpy(crd->crd_iv, &blkno, sizeof(blkno));
]]]
Our diff produces a different result where this context line is
both deleted and added:
[[[
- crd->crd_alg = CRYPTO_AES_XTS;
+ crd->crd_alg = sd->mds.mdd_crypto.scr_alg;
+ crd->crd_klen = sd->mds.mdd_crypto.scr_klen;
+ crd->crd_key = sd->mds.mdd_crypto.scr_key[0];
+ memcpy(crd->crd_iv, &blkno, sizeof(blkno));
+ }
- switch (sd->mds.mdd_crypto.scr_meta->scm_alg) {
- case SR_CRYPTOA_AES_XTS_128:
- crd->crd_klen = 256;
- break;
- case SR_CRYPTOA_AES_XTS_256:
- crd->crd_klen = 512;
- break;
- default:
- goto unwind;
- }
- crd->crd_key = sd->mds.mdd_crypto.scr_key[0];
- bcopy(&blk, crd->crd_iv, sizeof(blk));
- }
- crwu->cr_wu = wu;
- crwu->cr_crp->crp_opaque = crwu;
-
return (crwu);
]]]
- Commit:
e8eedebc88e40698d3d763e6f00601484d8cabf3
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add some API functions which allow access to opaque struct diff_chunk
- Commit:
67157248154a23138c2b7ff2eebecbdf3d079ef7
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
fix patience: off-by-one preventing swallow the same identical line twice
- Commit:
ede78929bedd695e06a0c30839b9a561b5d6bc9c
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
results_test: fix output: print atom indexes, not file pos
- Commit:
e638575c9295479520dc4db9d23e22c18d61f3fb
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
assertions fixup: unused var for non-debug
- Commit:
a94b7229326bfb2d0c8fb77a2ec4570c8fb4f9cf
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
include sys/types.h for size_t in our string.h compat header file
- Commit:
7280e29c8ed198cf9253d84bb9289e55adaabf12
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
remove a bunch of overly verbose debug
- Commit:
f6db314590fc96c0cdbf87367b47da8603e17ae9
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
fix result chunks: add minus above plus failed to shift "empty" positions
- Commit:
c672cd5263e14c546a06d2b2132fd05bf20bbca0
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
add test020
- Commit:
486215cf28522983f77b83d7a2a5effc522fea5f
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
undup code to add result chunks
- Commit:
4861c9da86ada01cffa2ce3801f670587e896ce2
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
add sanity assertions around adding result chunks
uncovers errors related to placing minus chunks above already added plus
chunks.
- Commit:
6303eedc563848baa1f4c48ccdb70b80393255d6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add strlcat and strlcpy compat functions for Linux
- Commit:
6c6e6e508e69acc5a20e0b15296af8bf1a71d535
- From:
- Neels Hofmeyr <neels@hofmeyr.de>
- Date:
add test117
- 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