Easy to review? 29 (I mean 30, I mean 31) patches? Are you kidding me?! As noted in v1 (<20170511091829.5634-1-avarab@xxxxxxxxx>; https://public-inbox.org/git/20170511091829.5634-1-avarab@xxxxxxxxx/) these are all doc, test, refactoring etc. changes needed by the subsequent "PCRE v2, PCRE v1 JIT, log -P & fixes" series. See <20170520214233.7183-1-avarab@xxxxxxxxx> (https://public-inbox.org/git/20170520214233.7183-1-avarab@xxxxxxxxx/) v3 & notes about that version. What changed this time around? See below: Ævar Arnfjörð Bjarmason (31): 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 log: make --regexp-ignore-case work with --perl-regexp 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 No changes. perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do Fix trailing whitespace. perf: emit progress output when unpacking & building No changes. perf: add a comparison test of grep regex engines perf: add a comparison test of grep regex engines with -F perf: add a comparison test of log --grep regex engines perf: add a comparison test of log --grep regex engines with -F These are all improved: * Skip the PCRE test when we don't have the PCRE prerequisite, instead of erroring out. * Update outdated commit messages left over from previous submissions. * General minor nits in the code, e.g. use the same for-loop variable name in all four files which have similar code, simplify the test_cmp invocation etc. grep: catch a missing enum in switch statement grep: remove redundant regflags assignments No changes. grep: factor test for \0 in grep patterns into a function Brandon pointed out that one of the lines in this patch was longer than 79 characters. Fixed. grep: change the internal PCRE macro names to be PCRE1 grep: change internal *pcre* variable & function names to be *pcre1* grep: move is_fixed() earlier 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} No changes. Documentation/git-grep.txt | 7 +- Documentation/rev-list-options.txt | 8 +- Makefile | 14 ++- builtin/grep.c | 23 +++- builtin/pack-objects.c | 4 +- configure.ac | 12 +- grep.c | 110 +++++++++-------- grep.h | 10 +- revision.c | 1 + t/README | 8 +- t/perf/README | 17 ++- t/perf/p4220-log-grep-engines.sh | 53 ++++++++ t/perf/p4221-log-grep-engines-fixed.sh | 44 +++++++ t/perf/p7820-grep-engines.sh | 56 +++++++++ t/perf/p7821-grep-engines-fixed.sh | 41 +++++++ t/perf/run | 13 +- t/t4202-log.sh | 160 +++++++++++++++++++++++- t/t5300-pack-object.sh | 36 ++++++ 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 +- 24 files changed, 843 insertions(+), 239 deletions(-) create mode 100755 t/perf/p4220-log-grep-engines.sh create mode 100755 t/perf/p4221-log-grep-engines-fixed.sh create mode 100755 t/perf/p7820-grep-engines.sh create mode 100755 t/perf/p7821-grep-engines-fixed.sh -- 2.13.0.303.g4ebf302169