I wanted to search a repository for all commits that were *not* committed by a particular person. While I eventually managed to build a regular expression that worked for my limited use case, it seems like there ought to be a more sensible way to find the data I'm looking for.
As an example, this didn't work:
git log --format=fuller --not --committer="Foo Bar"
Apparently, the --not flag doesn't invert the grep for committer; it only inverts the revision specifiers. It seems like there should be something that works like grep's --invert-match option, but I couldn't find it.
On the other hand, this will work, but is painful and error-prone to build if you have a lot of committers:
# Assuming the address is foo.bar@example.com
git log --format=fuller --committer='[^r]@'Is there currently a better way to request logs for "everyone but committer x" in Git? If not, is this a feature that someone who understands the Git source might find useful enough to add in?