Git Bisect: Jak Znale藕膰 Commit, kt贸ry Wprowadzi艂 Buga
Testy s膮 zielone od trzech tygodni. Dzi艣 npm test pada na asercji, kt贸ra nie ma nic wsp贸lnego z tym, co w艂a艣nie zmieni艂e艣, a git log v1.4.0..HEAD pokazuje 340 commit贸w od czterech os贸b od ostatniego release鈥檃, o kt贸rym kto艣 by艂 pewien, 偶e dzia艂a. Przeczytanie ka偶dego diffa kosztuje ca艂y dzie艅. Losowe prze艂膮czanie si臋 mi臋dzy commitami idzie szybciej, ale wci膮偶 nie jest planem. git bisect zamienia to w wyszukiwanie binarne. Podajesz mu jeden commit, o kt贸rym wiesz, 偶e jest dobry, i jeden, o kt贸rym wiesz, 偶e jest zepsuty; narz臋dzie robi checkout commita w po艂owie drogi mi臋dzy nimi i czeka, a偶 przetestujesz w艂a艣nie ten commit i zg艂osisz wynik. Ka偶da odpowied藕 zmniejsza zakres o po艂ow臋. 340 commit贸w da si臋 rozstrzygn膮膰 w maksymalnie 9 testach, bo 2^9 = 512. ...