diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-01-19 15:04:48 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-01-22 13:40:07 +0000 |
commit | de406775312eeb6691e999ed07c676582fe99fa9 (patch) | |
tree | ea51c8512ad4d01b5c3e1fbec8f323695f7bf33f | |
parent | 4d14e7df1bb94791be11c8dcbe19d7f6aef46c22 (diff) |
tcwg_kernel-bisect.sh: Re-arrange code in linux-next workaround
... in preparation to converting it into a loop. Make all 3
if-clauses follow the same template.
Change-Id: If02069b536c5846db0466281ccc88d9bf0f67dff
-rwxr-xr-x | tcwg_kernel-bisect.sh | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/tcwg_kernel-bisect.sh b/tcwg_kernel-bisect.sh index 87028e80..5668c16c 100755 --- a/tcwg_kernel-bisect.sh +++ b/tcwg_kernel-bisect.sh @@ -124,9 +124,10 @@ chmod +x $artifacts/test.sh merge_base=$(git merge-base $bad_rev $baseline_rev) origin=$(git remote get-url origin) origin=$(basename "$origin") -if [ x"$merge_base" != x"$good_rev" -a x"$origin" = x"linux-next.git" ]; then - echo "Testing merge_base $merge_base (hoping for success)" - git checkout --detach "$merge_base" +if [ x"$merge_base" != x"$baseline_rev" -a x"$origin" = x"linux-next.git" ]; then + good_rev=$merge_base + echo "Testing merge base $good_rev (hoping for success)" + git checkout --detach "$good_rev" $artifacts/test.sh & res=0 && wait $! || res=$? if [ x"$res" != x"0" ]; then @@ -135,38 +136,32 @@ if [ x"$merge_base" != x"$good_rev" -a x"$origin" = x"linux-next.git" ]; then cat <<EOF | manifest_out declare -g linux_next_stable=$linux_next_stable EOF - echo "Testing linux_next:stable $linux_next_stable (hoping for success)" - git checkout --detach $linux_next_stable + good_rev=$linux_next_stable + echo "Testing linux_next:stable $good_rev (hoping for success)" + git checkout --detach $good_rev $artifacts/test.sh & res=0 && wait $! || res=$? - if [ x"$res" = x"0" ]; then - good_rev=$linux_next_stable - else + if [ x"$res" != x"0" ]; then # Check if we can use linux-mainline/master as our last resort. url=git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git remote add mainline "$url" > /dev/null 2>&1 || true git remote set-url mainline "$url" clone_or_update_repo . refs/remotes/mainline/master "$url" - merge_base=$(git merge-base $bad_rev HEAD) - mainline_master="${mainline_master-$merge_base}" + mainline_master="${mainline_master-$(git merge-base $bad_rev HEAD)}" cat <<EOF | manifest_out -declare -g mainline_master=$mainline_master +declare -g mainline_master=$mainline_rev EOF - echo "Testing mainline_master $mainline_master (hoping for success)" - git checkout --detach $mainline_master + good_rev=$mainline_master + echo "Testing mainline_master $good_rev (hoping for success)" + git checkout --detach $good_rev $artifacts/test.sh & res=0 && wait $! || res=$? - if [ x"$res" = x"0" ]; then - good_rev=$mainline_master - else - : + if [ x"$res" != x"0" ]; then # Below bisect will fail :-( + good_rev=$baseline_rev fi fi - else - : - # With good merge-base below bisect should succeed. fi else good_rev=$baseline_rev |