#!/bin/bash set -eou pipefail git fetch origin pushd $2 git fetch origin popd if [ "$(git rev-parse --show-prefix)" != "" ]; then echo "Run this script from the git root" >&2 exit 1 fi if [ "$(git rev-parse HEAD)" != "$(git rev-parse origin/master)" ]; then echo "$(pwd) is not at origin/master" >&2 exit 1 fi if [ ! -f library/portable-simd/git-subtree.sh ]; then curl -sS https://raw.githubusercontent.com/bjorn3/git/tqc-subtree-portable/contrib/subtree/git-subtree.sh -o library/portable-simd/git-subtree.sh chmod +x library/portable-simd/git-subtree.sh fi today=$(date +%Y-%m-%d) case $1 in "push") upstream=rust-upstream-$today merge=sync-from-rust-$today pushd $2 git checkout master git pull popd library/portable-simd/git-subtree.sh push -P library/portable-simd $2 $upstream pushd $2 git checkout -B $merge origin/master git merge $upstream popd echo "Branch \`$merge\` created in \`$2\`. You may need to resolve merge conflicts." ;; "pull") branch=sync-from-portable-simd-$today git checkout -B $branch echo "Creating branch \`$branch\`... You may need to resolve merge conflicts." library/portable-simd/git-subtree.sh pull -P library/portable-simd $2 origin/master ;; esac