2012-03-29 23 views
0

私は、壊れたテストの責任を割り当てるためにバイナリ検索を実行するスクリプトを書いています。私はgit rev-list --bisectを使用しています。どうすればgit rev-list --bisectを特定のコミットをスキップすることができますか?

ビルドが壊れている特定のコミットを除外したいと思います。 git bisect skip BROKENCOMMITgit bisectにこれを行うオプションがあります。しかし、私はgit rev-list --bisectを使って同じことをする同等の方法を見つけることができません。 1つはありますか?

ありがとうございます!

+0

git rev-listには、作成者、コミッター、日付、および説明に基づいてコミットを除外するオプションがあります。どうしてなぜハッシュに基づいてコミットを除外するオプションがないのですか? – dnw

+0

私はgit rev-listを実行してコミットのリスト全体を取得し、その後は手動ですべてを行いました。 – dnw

答えて

0

残念ながら、git rev-list --bisectに特定のコミットをスキップするよう指示する方法はありません。

git bisectは、refs/bisect/skip-*という名前の参照を作成することによってスキップします。良いコミットと悪いコミットはrefs/bisect/badrefs/bisect/good-*に格納されます。 git rev-list --bisectコマンドはrefs/bisect/badrefs/bisect/good-*を参照しますが、いくつかの不思議な理由によりrefs/bisect/skip-*には注意しないでください。これはGitメーリングリストにとっては良い提案になるようです。

代わりのrev-list --bisect、あなたはスキップして、BISECT_HEADリファレンスを使用したいコミットを追加するためにgit bisect skipを使用し、git bisect start --no-checkoutを使用することができます。このアプローチの欠点の1つはgit bisectです。ref名のスペースを指定できないため、進行中の既存の二等分線がある場合は上書きします。

関連する問題