Easy to review? 29 patches? Are you kidding me?! I thought about how to split up my sprawling PCRE v2 series which can't easily be broken up because a lot of it is trivial setup code needed for later patches, or things that would result in lots of merge conflicts. This is an attempt to make that as easy as possible for reviewers these are only things that should be obviously correct, i.e.: * Comments * Trivial documentation changes * Tests for existing behavior * New perf tests used for later patch submissions * Moving code around or renaming variables which introduces no functional changes, makes later patches smaller. * Adding an assert() to existing code to self-document something that's true 100% of the time now. The only exception to that is 27 and 28 which are trivial bugfixes / consistency fixes to pack-objects & grep in how they warn about invalid thread configuration under NO_PTHREADS=Y. Ævar Arnfjörð Bjarmason (29): Makefile & configure: reword inaccurate comment about PCRE grep & rev-list doc: stop promising libpcre for --perl-regexp test-lib: rename the LIBPCRE prerequisite to PCRE log: add exhaustive tests for pattern style options & config grep: add a test asserting that --perl-regexp dies when !PCRE grep: add a test for backreferences in PCRE patterns grep: change non-ASCII -i test to stop using --debug grep: add tests for --threads=N and grep.threads grep: amend submodule recursion test for regex engine testing grep: add tests for grep pattern types being passed to submodules grep: add a test helper function for less verbose -f \0 tests grep: prepare for testing binary regexes containing rx metacharacters grep: add tests to fix blind spots with \0 patterns perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do perf: emit progress output when unpacking & building perf: add a performance comparison test of grep -G, -E and -P perf: add a performance comparison of fixed-string grep grep: catch a missing enum in switch statement grep: remove redundant regflags assignment under PCRE grep: remove redundant `regflags &= ~REG_EXTENDED` assignments grep: factor test for \0 in grep patterns into a function grep: change the internal PCRE macro names to be PCRE1 grep: change internal *pcre* variable & function names to be *pcre1* grep: move two functions to avoid forward declaration test-lib: add a PTHREADS prerequisite pack-objects & index-pack: add test for --threads warning pack-objects: fix buggy warning about threads grep: given --threads with NO_PTHREADS=YesPlease, warn grep: assert that threading is enabled when calling grep_{lock,unlock} Documentation/git-grep.txt | 7 +- Documentation/rev-list-options.txt | 8 +- Makefile | 14 ++- builtin/grep.c | 25 ++++- builtin/pack-objects.c | 4 +- configure.ac | 12 ++- grep.c | 107 +++++++++--------- grep.h | 10 +- t/README | 8 +- t/perf/README | 19 +++- t/perf/p7820-grep-engines.sh | 35 ++++++ t/perf/p7821-grep-engines-fixed.sh | 27 +++++ t/perf/run | 13 ++- t/t4202-log.sh | 80 +++++++++++++- t/t5300-pack-object.sh | 33 ++++++ t/t7008-grep-binary.sh | 135 +++++++++++++++++------ t/t7810-grep.sh | 81 +++++++++++--- t/t7812-grep-icase-non-ascii.sh | 29 ++--- t/t7813-grep-icase-iso.sh | 2 +- t/t7814-grep-recurse-submodules.sh | 215 +++++++++++++++++++++++-------------- t/test-lib.sh | 3 +- 21 files changed, 632 insertions(+), 235 deletions(-) create mode 100755 t/perf/p7820-grep-engines.sh create mode 100755 t/perf/p7821-grep-engines-fixed.sh -- 2.11.0