From: Uwe Kleine-König Date: Wed, 21 Mar 2007 21:04:54 GMT Subject: [PATCH] Bisect: fix calculation of the number of suspicious revisions Message-ID: <20070321210454.GA2844@lala> In-Reply-To: <20070317195840.GA20735@informatik.uni-freiburg.de> Up to now the number printed was calculated assuming that the current revision to test is bad. Given that it's not possible that this always matches the number of suspicious revs if the current one is good, the maximum of both is taken now. Moreover I think the number printed was always one to high, this is fixed, too. Signed-off-by: Uwe Kleine-König --- In the mail before I wrote that the former version of this patch was not complete. This turned out to be a thinko. So now I only used a better Subject, a more verbose log and a hopefully more clear output. git-bisect.sh | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index b1c3a6b..aeff732 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -150,8 +150,14 @@ bisect_next() { git-diff-tree --pretty $rev exit 0 fi - nr=$(eval "git-rev-list $rev $good -- $(cat $GIT_DIR/BISECT_NAMES)" | wc -l) || exit - echo "Bisecting: $nr revisions left to test after this" + nr_bad=$(eval "git-rev-list $rev^ $good -- $(cat $GIT_DIR/BISECT_NAMES)" | wc -l) || exit + nr_good=$(eval "git-rev-list $bad^ ^$rev $good -- $(cat $GIT_DIR/BISECT_NAMES)" | wc -l) || exit + if test "$nr_bad" -ge "$nr_good"; then + nr="$nr_bad"; + else + nr="$nr_good"; + fi; + echo "Bisecting: up to $nr suspicious revisions left after this test" echo "$rev" > "$GIT_DIR/refs/heads/new-bisect" git checkout -q new-bisect || exit mv "$GIT_DIR/refs/heads/new-bisect" "$GIT_DIR/refs/heads/bisect" && -- 1.5.0.3 -- Uwe Kleine-König http://www.google.com/search?q=1+hertz+in+sec**-1