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 |