非常に限られたテストに基づく完全に素朴な答え:
プローブするために残されたコミットの範囲は で取得git bisect visualize
できgit bisect visualize | wc -l
ます。
この状態になる前に出力されたメッセージは、この量のおよそ半分に基づいており、その半分の基数 2 のログをとっているようです。
たとえば、私は今、次のように言われた状態にあります。
Bisecting: 10 revisions left to test after this (roughly 3 steps)
そして、この状態で私は持っています:
$ git bisect visualize --oneline | wc -l
21
つまり、「10 回のリビジョン」は、実際には疑わしい範囲に 21 件のコミットがあることを意味します。私たちはその範囲の真ん中にいるので、どちらの方向にも約 10 あります。10 を取得するには、切り捨てて 21/2 を計算します。「おおむね残り 3 のテスト」を取得するには、10 の基数 2 の対数を切り捨てます。
私のお気に入りのスクリプト言語で (あなたのものに置き換えてください):
$ txr -P '(let* ((count (length
(get-lines
(open-command "git bisect visualize --oneline"))))
(left (trunc count 2)))
`Bisecting: @left revisions left to test after this \
\ (roughly @(int-flo (log2 left)) steps)`)'
Bisecting: 10 revisions left to test after this (roughly 3 steps)
bisect
少なくとも 1 つの良いコミットと 1 つの悪いコミットを報告していない場合、コマンドは文句を言うので、いくつかのエラー処理が必要です。可能であれば、log2 がゼロに適用されるのを回避するなど、まれなケースもあります。