I love using git bisect and git bisect run to know when things broke, but that only works if the commit history is generally clean - ie there are aren't commits with broken tests.
The basic idea, given a failing test, and a test command (for the sake of illustration let's …