git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 00/31] Easy to review grep & pre-PCRE changes

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
May 25, 2017, 19:45 UTC
Message-ID
<20170525194535.9324-1-avarab@gmail.com>

Easy to review? 29 (I mean 30, I mean 31) patches? Are you kidding me?!

As noted in v1 (<20170511091829.5634-1-avarab@gmail.com>; https://public-inbox.org/git/20170511091829.5634-1-avarab@gmail.com/) 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@gmail.com> (https://public-inbox.org/git/20170520214233.7183-1-avarab@gmail.com/) 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
Next: Ævar Arnfjörð Bjarmason
Message 1 of 32 in “Easy to review grep & pre-PCRE changes”
  1. 00/31 Easy to review grep & pre-PCRE changesÆvar Arnfjörð Bjarmason, May 25, 2017
  2. 01/31 Makefile & configure: reword inaccurate comment about PCREÆvar Arnfjörð Bjarmason, May 25, 2017
  3. 02/31 grep & rev-list doc: stop promising libpcre for --perl-regexpÆvar Arnfjörð Bjarmason, May 25, 2017
  4. 04/31 log: add exhaustive tests for pattern style options & configÆvar Arnfjörð Bjarmason, May 25, 2017
  5. 03/31 test-lib: rename the LIBPCRE prerequisite to PCREÆvar Arnfjörð Bjarmason, May 25, 2017
  6. 05/31 log: make --regexp-ignore-case work with --perl-regexpÆvar Arnfjörð Bjarmason, May 25, 2017
  7. 07/31 grep: add a test for backreferences in PCRE patternsÆvar Arnfjörð Bjarmason, May 25, 2017
  8. 08/31 grep: change non-ASCII -i test to stop using --debugÆvar Arnfjörð Bjarmason, May 25, 2017
  9. 06/31 grep: add a test asserting that --perl-regexp dies when !PCREÆvar Arnfjörð Bjarmason, May 25, 2017
  10. 09/31 grep: add tests for --threads=N and grep.threadsÆvar Arnfjörð Bjarmason, May 25, 2017
  11. 10/31 grep: amend submodule recursion test for regex engine testingÆvar Arnfjörð Bjarmason, May 25, 2017
  12. 11/31 grep: add tests for grep pattern types being passed to submodulesÆvar Arnfjörð Bjarmason, May 25, 2017
  13. 12/31 grep: add a test helper function for less verbose -f \0 testsÆvar Arnfjörð Bjarmason, May 25, 2017
  14. 13/31 grep: prepare for testing binary regexes containing rx metacharactersÆvar Arnfjörð Bjarmason, May 25, 2017
  15. 14/31 grep: add tests to fix blind spots with \0 patternsÆvar Arnfjörð Bjarmason, May 25, 2017
  16. 16/31 perf: emit progress output when unpacking & buildingÆvar Arnfjörð Bjarmason, May 25, 2017
  17. 18/31 perf: add a comparison test of grep regex engines with -FÆvar Arnfjörð Bjarmason, May 25, 2017
  18. 17/31 perf: add a comparison test of grep regex enginesÆvar Arnfjörð Bjarmason, May 25, 2017
  19. 15/31 perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't doÆvar Arnfjörð Bjarmason, May 25, 2017
  20. 19/31 perf: add a comparison test of log --grep regex enginesÆvar Arnfjörð Bjarmason, May 25, 2017
  21. 20/31 perf: add a comparison test of log --grep regex engines with -FÆvar Arnfjörð Bjarmason, May 25, 2017
  22. 24/31 grep: change the internal PCRE macro names to be PCRE1Ævar Arnfjörð Bjarmason, May 25, 2017
  23. 23/31 grep: factor test for \0 in grep patterns into a functionÆvar Arnfjörð Bjarmason, May 25, 2017
  24. 21/31 grep: catch a missing enum in switch statementÆvar Arnfjörð Bjarmason, May 25, 2017
  25. 22/31 grep: remove redundant regflags assignmentsÆvar Arnfjörð Bjarmason, May 25, 2017
  26. 28/31 pack-objects & index-pack: add test for --threads warningÆvar Arnfjörð Bjarmason, May 25, 2017
  27. 30/31 grep: given --threads with NO_PTHREADS=YesPlease, warnÆvar Arnfjörð Bjarmason, May 25, 2017
  28. 25/31 grep: change internal *pcre* variable & function names to be *pcre1*Ævar Arnfjörð Bjarmason, May 25, 2017
  29. 31/31 grep: assert that threading is enabled when calling grep_{lock,unlock}Ævar Arnfjörð Bjarmason, May 25, 2017
  30. 29/31 pack-objects: fix buggy warning about threadsÆvar Arnfjörð Bjarmason, May 25, 2017
  31. 27/31 test-lib: add a PTHREADS prerequisiteÆvar Arnfjörð Bjarmason, May 25, 2017
  32. 26/31 grep: move is_fixed() earlier to avoid forward declarationÆvar Arnfjörð Bjarmason, May 25, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.