Yep, it lets you very efficiently find the commit that introduced a bug by binary searching through commits. First, checkout the Cesium repository from GitHub if you haven’t already:
git clone git://github.com/AnalyticalGraphicsInc/cesium.git
cd cesium
In a separate window, run the server that comes with Cesium:
./Tools/apache-ant-1.8.2/bin/ant runServer
Back in your main window, start a bisect:
git bisect start
Then checkout the b16 release:
git checkout b16
Build Cesium:
./Tools/apache-ant-1.8.2/bin/ant build
Then launch a browser on http://localhost:8080/Apps/CesiumViewer/index.html and see if the bug occurs. If it does, run:
git bisect bad
If it does not occur, run:
git bisect good
Then checkout the b17 release, build, and mark it good/bad (presumably bad):
git checkout b17
./Tools/apache-ant-1.8.2/bin/ant build
git checkout bad
Git will automatically checkout the next commit to test. Build again, check for the bug again, and then tell Git whether or not the bug occurred
./Tools/apache-ant-1.8.2/bin/ant build
git bisect good OR git bisect bad
You’ll have to repeat this cycle (build, test, git good/bad) about 7 times, and then Git will tell you the first commit in which the bug occurred.
When you’re done, reset your repo to where you were before with:
git bisect reset
Thanks for doing this, and let me know if you have any questions.
Kevin