diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-04-03 18:58:36 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-04-05 23:22:13 +0100 |
commit | d3d24ef2f2c390c235198ae10f3890eb42186aa1 (patch) | |
tree | ef496605e8a49f4682d02bfccd25e98382426b7d /scripts/contrib | |
parent | 04e31f33c82b79f23f5ff6128cf0ab78fccfc95e (diff) | |
download | openembedded-core-contrib-d3d24ef2f2c390c235198ae10f3890eb42186aa1.tar.gz |
build-perf-test-wrapper.sh: make it possible to specify Git branch name
Support <branch>:<commit> format for the -c argument. This makes it
possible to test older commits of a certain branch (not just the tip of
it) so that the branch name will still be correctly recorded in the test
report data.
(From OE-Core rev: be3d1718a99e59e636f349586e0a64eb8e2824a4)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/contrib')
-rwxr-xr-x | scripts/contrib/build-perf-test-wrapper.sh | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/scripts/contrib/build-perf-test-wrapper.sh b/scripts/contrib/build-perf-test-wrapper.sh index 234652d7eff..7b7e4dddc64 100755 --- a/scripts/contrib/build-perf-test-wrapper.sh +++ b/scripts/contrib/build-perf-test-wrapper.sh @@ -29,7 +29,8 @@ Optional arguments: -h show this help and exit. -a ARCHIVE_DIR archive results tarball here, give an empty string to disable tarball archiving (default: $archive_dir) - -c COMMITISH test (checkout) this commit + -c COMMITISH test (checkout) this commit, <branch>:<commit> can be + specified to test specific commit of certain branch -C GIT_REPO commit results into Git -w WORK_DIR work dir for this script (default: GIT_TOP_DIR/build-perf-test) @@ -90,15 +91,33 @@ fi cd "$git_topdir" if [ -n "$commitish" ]; then - # Checkout correct revision - echo "Checking out $commitish" + echo "Running git fetch" git fetch &> /dev/null git checkout HEAD^0 &> /dev/null - git branch -D $commitish &> /dev/null - if ! git checkout -f $commitish &> /dev/null; then - echo "Git checkout failed" + + # Handle <branch>:<commit> format + if echo "$commitish" | grep -q ":"; then + commit=`echo "$commitish" | cut -d":" -f2` + branch=`echo "$commitish" | cut -d":" -f1` + else + commit="$commitish" + branch="$commitish" + fi + + echo "Checking out $commitish" + git branch -D $branch &> /dev/null + if ! git checkout -f $branch &> /dev/null; then + echo "ERROR: Git checkout failed" + exit 1 + fi + + # Check that the specified branch really contains the commit + commit_hash=`git rev-parse --revs-only $commit --` + if [ -z "$commit_hash" -o "`git merge-base $branch $commit`" != "$commit_hash" ]; then + echo "ERROR: branch $branch does not contain commit $commit" exit 1 fi + git reset --hard $commit > /dev/null fi # Setup build environment |