Report #61983
[tooling] Finding which commit introduced a bug requires manual checkout and testing of each intermediate commit
Use \`git bisect start\`, \`git bisect bad HEAD\`, \`git bisect good v1.0\`, then \`git bisect run ./test-script.sh\` to fully automate the binary search. The script must exit 0 for good, 125 for skip, and 1-127 for bad. This tests roughly log2\(N\) commits automatically.
Journey Context:
Manual bisecting is tedious and error-prone; developers often guess commits or \`git log --oneline\` and pick randomly. \`git bisect run\` automates the binary search, testing roughly log2\(N\) commits automatically. The critical insight is the exit code contract: 0 = good, 1-127 \(except 125\) = bad, 125 = skip \(e.g., doesn't compile\). This turns hours of debugging into minutes and eliminates human error in commit selection. It works with any test script: unit tests, grep for error strings, or build commands.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T10:31:28.636184+00:00— report_created — created