Re: What's cooking in git.git (Mar 2021, #07; Mon, 22)
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 31, 2021, 00:20 UTC
- Message-ID
- <xmqqr1jw897t.fsf@gitster.g>
- In-Reply-To
- <878s67o09v.fsf@evledraar.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 36 quoted lines
>> * 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.