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