I have three patch series that makes a part of git-grep
available and use it for log filtering:
[PATCH] builtin-grep: make pieces of it available as library.
[PATCH] revision traversal: prepare for commit log match.
[PATCH] revision traversal: --author, --committer, and --grep.
I didn't implement the boolean combination of patterns like
git-grep does, but it should be pretty straightforward to do so
in setup_revisions(). The syntax probably would be something
like:
git log --grep-( rev-list gitweb --and --not --author=Jakub --grep-)
to find logs that:
* talk about rev-list, or
* talk about gitweb but not by Jakub