#!/bin/bash LOG_FILE="../merge.log" build_host="ka2" build_dir="/scratch/sfr/next" build_cmd="bin/build_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 } ssh "$build_host" "$build_cmd" || { echo Build failed 1>&2 bash -i || exit } exit 0