Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: >> * ab/pickaxe-pcre2 (2021-02-18) 24 commits >> - pickaxe -G: don't special-case create/delete >> - pickaxe -G: terminate early on matching lines >> - xdiff-interface: support early exit in xdiff_outf() >> - xdiff-interface: allow early return from xdiff_emit_{line,hunk}_fn >> - pickaxe -S: slightly optimize contains() >> - pickaxe: rename variables in has_changes() for brevity >> - pickaxe -S: support content with NULs under --pickaxe-regex >> - pickaxe: assert that we must have a needle under -G or -S >> - pickaxe: refactor function selection in diffcore-pickaxe() >> - perf: add performance test for pickaxe >> - pickaxe/style: consolidate declarations and assignments >> - diff.h: move pickaxe fields together again >> - pickaxe: die when --find-object and --pickaxe-all are combined >> - pickaxe: die when -G and --pickaxe-regex are combined >> - pickaxe tests: test for -G, -S and --find-object incompatibility >> - pickaxe tests: add test for "log -S" not being a regex >> - pickaxe tests: add test for diffgrep_consume() internals >> - pickaxe tests: refactor to use test_commit --append --printf >> - test-lib functions: add --printf option to test_commit >> - test-lib-functions: reword "test_commit --append" docs >> - test-lib-functions: document and test test_commit --no-tag >> - grep/pcre2 tests: reword comments referring to kwset >> - Merge branch 'jk/rev-list-disk-usage' into ab/pickaxe-pcre2 >> - Merge branch 'ab/test-lib' into ab/pickaxe-pcre2 >> >> Rewrite the backend for "diff -G/-S" to use pcre2 engine when >> available. >> >> Ready??? > > I think it's been ready for while, but unfortunately it hasn't gotten > much/any review. > > The changes to the C code are all rather trivial (just the "change > return; to return 0" is rather verbose). It is a shame that this series hasn't seen any reviews. It had so many low-hanging crufts to be pointed out, netting aspiring reviewer some "review points" ;-) I think a change to tolerate -G with --pickaxe-regex combination (as the latter becomes a redundant no-op in today's world because -G cannot do fixed strings), instead of marking them incompatible, may require the "function selection" step to be rewritten, but other than that, I didn't see much that is fundamentally objectionable. The summary I wrote in the "What's cooking" report was not quite right, by the way. There is nothing pcre2 yet in these patches. They are preliminary clean-ups only. Thanks.