Merge pull request #449 from rust-lang/subtree-sync-script

Add script for syncing subtree
This commit is contained in:
Caleb Zulawski 2025-01-18 15:34:46 -05:00 committed by GitHub
commit 3383cfbd35
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 53 additions and 0 deletions

1
.gitignore vendored
View file

@ -1 +1,2 @@
/target
git-subtree.sh

52
subtree-sync.sh Executable file
View file

@ -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