diff options
Diffstat (limited to 'local/bin/project-test')
| -rwxr-xr-x | local/bin/project-test | 43 | 
1 files changed, 43 insertions, 0 deletions
| diff --git a/local/bin/project-test b/local/bin/project-test new file mode 100755 index 0000000..a0591d8 --- /dev/null +++ b/local/bin/project-test @@ -0,0 +1,43 @@ +#!/bin/bash +# Executes given command on all commits from current one to given one. +set -e + +print_help() { +	echo "Executes given command for each commit. In default it executes" +	echo "for 10 previous commands." +	echo +	echo "Usage: project-test [OPTION...] [--] COMMAND" +	echo "    -r,--ref [REF]" +	echo "        Git reference to go to" +	echo "    -c,--count [COUNT]" +	echo "        Tests given count of references back from current one." +} + +while [ -n "$1" ]; do +	case $1 in +		-r|--ref) +			shift +			REF=$1 +			;; +		-c|--count) +			shift +			REF=HEAD~$1 +			;; +		--) +			shift +			break +			;; +		*) +			break +			;; +	esac +	shift +done + +[ -n "$REF" ] || REF=HEAD~10 + +while read -r rev; do +	git checkout "$rev" +	git submodule update +	eval $@ +done < <(git rev-list "$REF"..HEAD) | 
