mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
57 lines
1.8 KiB
Bash
Executable File
57 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
set -x
|
|
|
|
if [[ -z $ENGINE_PATH ]]
|
|
then
|
|
echo "Please set ENGINE_PATH environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Go to the engine git repo to get the date of the latest commit.
|
|
cd $ENGINE_PATH/src/flutter
|
|
|
|
ENGINE_COMMIT=`git rev-parse HEAD`
|
|
echo "Using engine commit: $ENGINE_COMMIT"
|
|
|
|
if [[ -z $FLUTTER_CLONE_REPO_PATH ]]
|
|
then
|
|
echo "Please set FLUTTER_CLONE_REPO_PATH environment variable."
|
|
exit 1
|
|
else
|
|
cd $FLUTTER_CLONE_REPO_PATH
|
|
fi
|
|
|
|
if [[ $GIT_BRANCH =~ ^flutter-.*-candidate.*$ ]]
|
|
then
|
|
# Coming from presubmit and assuming the correct branch has been already checked out.
|
|
COMMIT_NO=`git rev-parse HEAD`
|
|
else
|
|
# Try to get release branch from the checkout.
|
|
RELEASE_BRANCH=`git branch -a --contains $ENGINE_COMMIT | grep 'flutter-.*-candidate.*' || true`
|
|
if [[ -z $RELEASE_BRANCH ]]
|
|
then
|
|
# If this is not a release branch commit get latest commit's time for the engine repo.
|
|
# Use date based on local time otherwise timezones might get mixed.
|
|
LATEST_COMMIT_TIME_ENGINE=`git log -1 --date=local --format="%cd"`
|
|
echo "Latest commit time on engine found as $LATEST_COMMIT_TIME_ENGINE"
|
|
|
|
# Get the time of the youngest commit older than engine commit.
|
|
# Git log uses commit date not the author date.
|
|
# Before makes the comparison considering the timezone as well.
|
|
COMMIT_NO=`git log --before="$LATEST_COMMIT_TIME_ENGINE" -n 1 | grep commit | cut -d ' ' -f2`
|
|
else
|
|
COMMIT_NO=`git rev-parse $RELEASE_BRANCH`
|
|
git checkout $RELEASE_BRANCH
|
|
fi
|
|
fi
|
|
|
|
echo "Using the flutter/flutter commit $COMMIT_NO";
|
|
git reset --hard $COMMIT_NO
|
|
# Write the commit number to a file. This file will be read by the LUCI recipe.
|
|
echo "$COMMIT_NO" >> flutter_ref.txt
|
|
|
|
# Print out the flutter version for troubleshooting
|
|
$FLUTTER_CLONE_REPO_PATH/bin/flutter --version -v
|