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