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
							 |