Saltar al contenido

La versión del cuál commit rompió

Un proyecto tiene 1000 commits. El primero funcionaba y el último tiene un error. Puedes probar cualquier commit. Los commits están ordenados en el tiempo, y desde que aparece el error, sigue en todos los siguientes.

Es una búsqueda binaria sobre algo que no es un array de números: lo que está ordenado es «funciona / falla».

Una cinta de 5000 versiones de un firmware: la 1 funciona, la 5000 falla, y el fallo, una vez que aparece, sigue en todas las siguientes. Probar una versión en el dispositivo tarda 10 minutos. ¿Cuánto tardas como mucho en encontrar la primera que falla?