git bisect… taste great when served with Edge Rails.
So I’ve got a couple of projects that I like to claim run on “Edge Rails”. But the reality is that I let them slip for a month or two before playing catch up. Today I decided to update an application that had somehow gotten behind 2-3-stable by hundreds of commits. Being bold, I jumped straight to HEAD and was met with a shower of sparks running rake. Where to start?
In a word or two: git bisect
I started the bisection run and told git that head was bad and my current commit was good. Note: I use a git submodule to track Rails…
[…vendor/rails]# git bisect start
[…vendor/rails]# git bisect good
[…vendor/rails]# git bisect bad 2-3-stable
(and in another terminal window)
[myapp] # rake
Then it was just a matter of marking each auto-selected commit as good or bad with git bisect good or git bisect bad. Worked great. Next time, I’m going to automate the whole thing with git bisect run.