blob: fc60e866697113e81033b3f229e3911a5668bd43
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 |
47 |