Desde hace tiempo, cuando recién estaba investigando qué era Git, me llamo la atención el comando git bisect
, pero siempre imaginé que sería dificil de aplicar y nunca se me ocurrió probarlo, hasta ahora.
Trabajé en un feature branch, hice el Pull Request y recién luego (mal por mi) ejecuté los tests, que lamentablemente fallaron.
Los tests los corro con el siguiente comando:
$ dnx Doppler.HypermediaAPI.Tests test
No entiendo como no lo hice antes, es bastante simple. La ayuda general puede encontrarse en http://git-scm.com/docs/git-bisect.
Lo que yo hice puntualmente fue:
$ git bisect start HEAD hypermedia-api
$ git bisect run dnx Doppler.HypermediaAPI.Tests test
Git se encargó de hacer una búsqueda binaria ejecutando mis tests e identificando el commit con problemas.
Es git el que ejecuta el comando cada vez? Y que espera exactamente, un código de salida distinto de cero?