bisect: Fix log output for multi-parent skip ranges
[gitweb.git] / git-bisect.sh
index c58eea7cb6b34d69e812d2bac8f514272f679beb..9f064b6f4f0c209a0315538e48049c2d013316df 100755 (executable)
@@ -317,6 +317,16 @@ bisect_next() {
                bad_commit=$(git show-branch $bad_rev)
                echo "# first bad commit: $bad_commit" >>"$GIT_DIR/BISECT_LOG"
                exit 0
+       elif test $res -eq 2
+       then
+               echo "# only skipped commits left to test" >>"$GIT_DIR/BISECT_LOG"
+               good_revs=$(git for-each-ref --format="%(objectname)" "refs/bisect/good-*")
+               for skipped in $(git rev-list refs/bisect/bad --not $good_revs)
+               do
+                       skipped_commit=$(git show-branch $skipped)
+                       echo "# possible first bad commit: $skipped_commit" >>"$GIT_DIR/BISECT_LOG"
+               done
+               exit $res
        fi
 
        # Check for an error in the bisection process