47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
|
#!/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
|