1
1
#! /bin/bash
2
2
ORIGIN=" https://github.com/rust-lang"
3
+ LLVM_FORK=" https://github.com/borrow-sanitizer/llvm-project.git"
3
4
RUST_UPSTREAM=" $ORIGIN /rust.git"
4
5
LLVM_UPSTREAM=" $ORIGIN /llvm-project.git"
5
- BRANCH=" bsan"
6
-
7
- git checkout $BRANCH || exit
6
+ MAIN_BRANCH=" bsan"
7
+ BASE_TAG=" base"
8
+ BASE_COMMIT=$( git rev-list -n 1 $BASE_TAG )
9
+ git checkout " $MAIN_BRANCH " || exit
8
10
9
11
init_upstream () {
10
12
local upstream=$1
32
34
33
35
NIGHTLY_TOOLCHAIN=" nightly-$DATE "
34
36
git submodule update --init --no-recommend-shallow src/llvm-project
35
-
36
37
(cd src/llvm-project && init_upstream $LLVM_UPSTREAM )
37
38
init_upstream $RUST_UPSTREAM
38
- git branch -D nightly & > /dev/null
39
+ git branch -D nightly
39
40
git checkout -b nightly " $NIGHTLY_COMMIT_HASH " || exit
40
-
41
41
git submodule update --rebase src/llvm-project
42
- if ! git diff-index --quiet HEAD --; then
43
- git add src/llvm-project
44
- git commit -m " $NIGHTLY_TOOLCHAIN "
45
- fi
46
-
47
- git checkout $BRANCH || exit
48
- git rebase nightly || exit
42
+ git submodule set-url -- src/llvm-project $LLVM_FORK
43
+ git submodule set-branch --branch $MAIN_BRANCH -- src/llvm-project
44
+ git add src/llvm-project .gitmodules
45
+ git commit -m " $NIGHTLY_TOOLCHAIN "
46
+ git tag -D $BASE_TAG
47
+ git tag -a $BASE_TAG -m " $NIGHTLY_TOOLCHAIN "
48
+ git checkout " $MAIN_BRANCH " || exit
49
+ git rebase --onto nightly " $BASE_COMMIT " $MAIN_BRANCH || exit
0 commit comments