Skip to content

Commit

Permalink
Merge pull request #449 from rust-lang/subtree-sync-script
Browse files Browse the repository at this point in the history
Add script for syncing subtree
  • Loading branch information
calebzulawski authored Jan 18, 2025
2 parents 4b1a23e + 15c1972 commit 3383cfb
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/target
git-subtree.sh
52 changes: 52 additions & 0 deletions subtree-sync.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/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

0 comments on commit 3383cfb

Please sign in to comment.