#!/bin/sh set -e if test "bisect-create" = "`basename $0`" ; then echo tools/ffbisect created git show master:tools/bisect-create > tools/ffbisect chmod u+x tools/ffbisect exit 1 fi if ! git show master:tools/bisect-create | diff - tools/ffbisect > /dev/null ; then echo updating tools/ffbisect script to HEAD. git show master:tools/bisect-create > tools/ffbisect chmod u+x tools/ffbisect tools/ffbisect $* exit 0 fi case "$1" in need) case $2 in ffmpeg|ffplay|ffprobe) echo $2.c >> tools/bisect.need ;; esac ;; start|reset) echo . > tools/bisect.need git bisect $* ;; skip) git bisect $* ;; good|bad) git bisect $* until ls `cat tools/bisect.need` > /dev/null 2> /dev/null; do git bisect skip || break done ;; run) shift # remove "run" from arguments git bisect run sh -c "ls \`cat tools/bisect.need\` > /dev/null 2> /dev/null || exit 125; \"\$@\"" sh "$@" ;; esac