1cabdff1aSopenharmony_ci#!/bin/sh 2cabdff1aSopenharmony_ci 3cabdff1aSopenharmony_ciset -e 4cabdff1aSopenharmony_ci 5cabdff1aSopenharmony_ciif test "bisect-create" = "`basename $0`" ; then 6cabdff1aSopenharmony_ci echo tools/ffbisect created 7cabdff1aSopenharmony_ci git show master:tools/bisect-create > tools/ffbisect 8cabdff1aSopenharmony_ci chmod u+x tools/ffbisect 9cabdff1aSopenharmony_ci exit 1 10cabdff1aSopenharmony_cifi 11cabdff1aSopenharmony_ci 12cabdff1aSopenharmony_ciif ! git show master:tools/bisect-create | diff - tools/ffbisect > /dev/null ; then 13cabdff1aSopenharmony_ci echo updating tools/ffbisect script to HEAD. 14cabdff1aSopenharmony_ci git show master:tools/bisect-create > tools/ffbisect 15cabdff1aSopenharmony_ci chmod u+x tools/ffbisect 16cabdff1aSopenharmony_ci tools/ffbisect $* 17cabdff1aSopenharmony_ci exit 0 18cabdff1aSopenharmony_cifi 19cabdff1aSopenharmony_ci 20cabdff1aSopenharmony_cicase "$1" in 21cabdff1aSopenharmony_ci need) 22cabdff1aSopenharmony_ci case $2 in 23cabdff1aSopenharmony_ci ffmpeg|ffplay|ffprobe) 24cabdff1aSopenharmony_ci echo $2.c >> tools/bisect.need 25cabdff1aSopenharmony_ci ;; 26cabdff1aSopenharmony_ci esac 27cabdff1aSopenharmony_ci ;; 28cabdff1aSopenharmony_ci start|reset) 29cabdff1aSopenharmony_ci echo . > tools/bisect.need 30cabdff1aSopenharmony_ci git bisect $* 31cabdff1aSopenharmony_ci ;; 32cabdff1aSopenharmony_ci skip) 33cabdff1aSopenharmony_ci git bisect $* 34cabdff1aSopenharmony_ci ;; 35cabdff1aSopenharmony_ci good|bad) 36cabdff1aSopenharmony_ci git bisect $* 37cabdff1aSopenharmony_ci 38cabdff1aSopenharmony_ci until ls `cat tools/bisect.need` > /dev/null 2> /dev/null; do 39cabdff1aSopenharmony_ci git bisect skip || break 40cabdff1aSopenharmony_ci done 41cabdff1aSopenharmony_ci ;; 42cabdff1aSopenharmony_ci run) 43cabdff1aSopenharmony_ci shift # remove "run" from arguments 44cabdff1aSopenharmony_ci git bisect run sh -c "ls \`cat tools/bisect.need\` > /dev/null 2> /dev/null || exit 125; \"\$@\"" sh "$@" 45cabdff1aSopenharmony_ci ;; 46cabdff1aSopenharmony_ciesac 47