#!/bin/bash LOG_FILE="../merge.log" no_build=false [ "$1" = "-n" ] && { shift no_build=true } tree="$1" base="$2" log() { echo "$@" | tee -a $LOG_FILE } execute() { log "$" $@ $@ 2>&1 | tee -a $LOG_FILE return ${PIPESTATUS[0]} } execute git checkout -b temp "$tree" || { echo "git checkout failed" 1>&2 exit } log '$' git rebase --onto master "$base" git rebase --onto master "$base" exit 0