git-bisect sounds really useful!
Now all we need is a script that we can run like this:
git-bisect-auto good-commit bad-commit test-command
That returns the id of the first commit that breaks the tests