forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#131358 - onur-ozkan:129528, r=Mark-Simulacrum
force "HEAD" for non-CI and `git_upstream_merge_base` for CI environment When rust-lang/rust is configured as remote, some of the git logic (for tracking changed files) that uses get_closest_merge_commit starts to produce annoying results as the upstream branch becomes outdated quickly (since it isn't updated with git pull). We can rely on HEAD for non-CI environments as we specifically treat bors commits as merge commits, which also exist on upstream. As for CI environments, we should use `git_upstream_merge_base` to correctly track modified files as bors commits may be in `HEAD` but not yet on the upstream remote. This is also an alternative fix for rust-lang#129528 since rust-lang#131331 reverts the previous fix attempts.
- Loading branch information
Showing
4 changed files
with
52 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#!/bin/bash | ||
# In CI environments, bootstrap is forced to use the remote upstream based | ||
# on "git_repository" and "nightly_branch" values from src/stage0 file. | ||
# This script configures the remote as it may not exist by default. | ||
|
||
set -euo pipefail | ||
IFS=$'\n\t' | ||
|
||
ci_dir=$(cd $(dirname $0) && pwd)/.. | ||
source "$ci_dir/shared.sh" | ||
|
||
git_repository=$(parse_stage0_file_by_key "git_repository") | ||
nightly_branch=$(parse_stage0_file_by_key "nightly_branch") | ||
|
||
# Configure "rust-lang/rust" upstream remote only when it's not origin. | ||
if [ -z "$(git config remote.origin.url | grep $git_repository)" ]; then | ||
echo "Configuring https://github.com/$git_repository remote as upstream." | ||
git remote add upstream "https://github.com/$git_repository" | ||
REMOTE_NAME="upstream" | ||
else | ||
REMOTE_NAME="origin" | ||
fi | ||
|
||
git fetch $REMOTE_NAME $nightly_branch |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters