3 LOG_FILE="../merge.log"
5 build_dir="/scratch/sfr/next"
6 build_cmd="bin/build_next"
17 rev=$(git rev-parse -verify "next-$ver/$tree")
19 echo "No such tree/date" 1>&2
23 [ -n "$3" ] && build_host="$3"
27 echo "$@" | tee -a $LOG_FILE
33 $@ 2>&1 | tee -a $LOG_FILE
34 return ${PIPESTATUS[0]}
37 GIT_EDITOR=: execute git reset --hard 'HEAD^' || {
38 echo "git reset failed" 1>&2
42 log Merging "next-$ver/$tree"
43 execute git merge "next-$ver/$tree" || {
44 echo Merge failed 1>&2
46 GIT_EDITOR=: execute git commit -v -a
47 execute git diff -M --stat --summary 'HEAD^..'
52 rsync -avH --exclude .git --delete . "$build_host":"$build_dir"/. || {
53 echo Rsync failed 1>&2
57 echo "Building using $build_cmd on $build_host"
58 ssh "$build_host" "$build_cmd" || {
59 echo Build failed 1>&2
63 d=$(date --date "5 hours ago" '+%Y%m%d')
64 git update-ref "refs/heads/next-$d/broken/$tree" "refs/heads/next-$d/$tree"
65 git update-ref "refs/heads/next-$d/$tree" "refs/heads/next-$ver/$tree"