#!/bin/bash bin_dir="$(dirname $0)" LOG_FILE="../merge.log" build_host="ka2" build_dir="/scratch/sfr/next" [ "$NEXT_BUILD_HOST" ] && build_host="$NEXT_BUILD_HOST" [ "$NEXT_BUILD_DIR" ] && build_dir="$NEXT_BUILD_DIR" no_build=false [ "$1" = "-n" ] && { shift no_build=true } rev=$1 shift [ -n "$1" ] && { build_host="$1" shift } [ -n "$1" ] && { build_dir="$1" shift } export NEXT_BUILD_HOST="$build_host" export NEXT_BUILD_DIR="$build_dir" log() { echo "$@" | tee -a $LOG_FILE } execute() { log "$" $@ $@ 2>&1 | tee -a $LOG_FILE return ${PIPESTATUS[0]} } GIT_EDITOR=: execute git revert $rev || exit 1 $no_build && exit 0 git push -f "$build_host":"$build_dir" master:refs/heads/next || { echo git push failed 1>&2 bash -i || exit } "$bin_dir/do_build" || { echo Build failed 1>&2 bash -i || exit } exit 0