Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 7 additions & 45 deletions scripts/rustup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,8 @@ set -e

TOOLCHAIN=${TOOLCHAIN:-$(date +%Y-%m-%d)}

function check_git_fixed_subtree() {
if [[ ! -e ./git-fixed-subtree.sh ]]; then
echo "Missing git-fixed-subtree.sh. Please run the following commands to download it:"
echo "curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/bjorn3/git/tqc-subtree-portable/contrib/subtree/git-subtree.sh -o git-fixed-subtree.sh"
echo "chmod u+x git-fixed-subtree.sh"
exit 1
fi
if [[ ! -x ./git-fixed-subtree.sh ]]; then
echo "git-fixed-subtree.sh is not executable. Please run the following command to make it executable:"
echo "chmod u+x git-fixed-subtree.sh"
exit 1
fi
}
export GIT_CONFIG_GLOBAL=../rust/josh.gitconfig
export RUSTC_GIT=../rust

case $1 in
"prepare")
Expand All @@ -33,44 +22,17 @@ case $1 in

./y.sh prepare
;;
"commit")
git add rust-toolchain.toml
git commit -m "Rustup to $(rustc -V)"
;;
Comment thread
bjorn3 marked this conversation as resolved.
"push")
check_git_fixed_subtree

cg_clif=$(pwd)
pushd ../rust
git pull origin main
username=${2:-bjorn3}
branch=sync_cg_clif-$(date +%Y-%m-%d)
git checkout -b "$branch"
"$cg_clif/git-fixed-subtree.sh" pull --prefix=compiler/rustc_codegen_cranelift/ https://github.com/rust-lang/rustc_codegen_cranelift.git main
git push -u my "$branch"

# immediately merge the merge commit into cg_clif to prevent merge conflicts when syncing
# from rust-lang/rust later
"$cg_clif/git-fixed-subtree.sh" push --prefix=compiler/rustc_codegen_cranelift/ "$cg_clif" sync_from_rust
popd
git merge sync_from_rust
rustc-josh-sync push "$branch" "$username"
;;
"pull")
check_git_fixed_subtree

RUST_VERS=$(curl "https://static.rust-lang.org/dist/$TOOLCHAIN/channel-rust-nightly-git-commit-hash.txt")
echo "Pulling $RUST_VERS ($TOOLCHAIN)"

cg_clif=$(pwd)
pushd ../rust
git fetch origin main
git -c advice.detachedHead=false checkout "$RUST_VERS"
"$cg_clif/git-fixed-subtree.sh" push --prefix=compiler/rustc_codegen_cranelift/ "$cg_clif" sync_from_rust
popd
git merge sync_from_rust -m "Sync from rust $RUST_VERS"
git branch -d sync_from_rust
git checkout -b sync_from_rust
rustc-josh-sync pull
Comment thread
bjorn3 marked this conversation as resolved.
;;
*)
echo "Unknown command '$1'"
echo "Usage: ./rustup.sh prepare|commit"
echo "Usage: ./rustup.sh prepare|pull|push [fork]"
;;
esac
Loading