From 42c30f71f4a2d70faa46d87171606da664a877cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Mon, 17 Oct 2016 10:42:32 +0200 Subject: Add simple script to test bunch of commits in project --- local/bin/project-test | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 local/bin/project-test 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) -- cgit v1.2.3