問題タブ [git-bisect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - git bisect run スクリプト内のテスト コマンドが機能しない
VERSION ファイルが 0.0.1_testing から新しいバージョンに変更されたバージョンを見つけるために git bisect を使用していますが、bisect run
このように使用したいと考えています。
git bisect run sh -c 'if [ "$(cat VERSION)" == "0.0.1_testing" ] ; then exit 0 ; else exit 1 ; fi'
しかし、私は悪い結果とこのエラーを取得し続けますsh: 1: [: 0.1.0: unexpected operator
(0.1.0 はによって返され"$(cat VERSION)"
ます。これは、サブシェルが終了するときに、bisect がその終了値を使用し、スクリプトの残りの部分を通過しないためだと思います。
これを機能させる方法はありますか?またはいくつかの良い代替?bisect 以外のツールを使用できることはわかっていますが、この方法でやりたいと思っています。
git - コミットの Git Bisect リスト
ここで独自の bisect ツールを作成することは避けようとしていますが、最初にここを確認しておこうと思いました。
基本的に、リストされているコミットのみを二等分しgit log --merges
たい (つまり、どの PR が問題を引き起こしたかを突き止めたい)。ただし、PRマージコミットだけでなく、すべてのgit bisect
コミットを使用しているようです。コミットが良いか悪いかをテストすることは、PR マージ コミット (アーティファクトで事前にビルドされている) 以外には非常に面倒であるため、これは問題です。
ここgit skip
で提案されているように非マージコミットを選別するために使用することは最適ではなく、マージコミットの真のバイナリ検索ではありません。たとえば、私はこのアプローチを使用しましたが、これは bisect がたどったパスです (これはマージ コミットのリストです。アスタリスクはマージ コミットの問題、数字は bisect がたどったパスです)。git skip
で二分したいコミットのリストを生成できますがgit log --merges
、どうにかしてこのリストをフィードして、git bisect
最適に二分できるようにすることはできますか、それとも運が悪いのでしょうか?