summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2011-01-17 16:34:58 -0500
committerSaul Wold <sgw@linux.intel.com>2011-01-19 11:36:27 -0800
commit8f23c1413ad12e60e98f9887cafa4315db7b62a2 (patch)
tree943a3430ff1e582ceeca836dd798b884447f685f
parent432e7619a7bd0c6a2075a618e5b17100fe459085 (diff)
downloadpoky-8f23c1413ad12e60e98f9887cafa4315db7b62a2.tar.gz
linux-yocto: update validate_branches to detected invalid commit IDs
The previous implementation of invalid commit ID checks would error early when a bad object was detected. Rather than changing to set +e for the entire routine, we'll capture the output and do an explicit check for a bad object and throw a useful error message when it is detected. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--meta/classes/kernel-yocto.bbclass26
1 files changed, 13 insertions, 13 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 88dcf32a06..32d2e20a71 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -161,30 +161,30 @@ do_validate_branches() {
161 current=`git branch |grep \*|sed 's/^\* //'` 161 current=`git branch |grep \*|sed 's/^\* //'`
162 if [ -n "$target_branch_head" ] && [ "$branch_head" != "$target_branch_head" ]; then 162 if [ -n "$target_branch_head" ] && [ "$branch_head" != "$target_branch_head" ]; then
163 if [ -n "${KERNEL_REVISION_CHECKING}" ]; then 163 if [ -n "${KERNEL_REVISION_CHECKING}" ]; then
164 git show ${target_branch_head} > /dev/null 2>&1 164 ref=`git show ${target_meta_head} 2>&1 | head -n1 || true`
165 if [ $? -eq 0 ]; then 165 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
166 echo "Forcing branch $current to ${target_branch_head}"
167 git branch -m $current $current-orig
168 git checkout -b $current ${target_branch_head}
169 else
170 echo "ERROR ${target_branch_head} is not a valid commit ID." 166 echo "ERROR ${target_branch_head} is not a valid commit ID."
171 echo "The kernel source tree may be out of sync" 167 echo "The kernel source tree may be out of sync"
172 exit 1 168 exit 1
173 fi 169 else
170 echo "Forcing branch $current to ${target_branch_head}"
171 git branch -m $current $current-orig
172 git checkout -b $current ${target_branch_head}
173 fi
174 fi 174 fi
175 fi 175 fi
176 176
177 if [ "$meta_head" != "$target_meta_head" ]; then 177 if [ "$meta_head" != "$target_meta_head" ]; then
178 if [ -n "${KERNEL_REVISION_CHECKING}" ]; then 178 if [ -n "${KERNEL_REVISION_CHECKING}" ]; then
179 git show ${target_meta_head} > /dev/null 2>&1 179 ref=`git show ${target_meta_head} 2>&1 | head -n1 || true`
180 if [ $? -eq 0 ]; then 180 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
181 echo "Forcing branch meta to ${target_meta_head}"
182 git branch -m ${KMETA} ${KMETA}-orig
183 git checkout -b ${KMETA} ${target_meta_head}
184 else
185 echo "ERROR ${target_meta_head} is not a valid commit ID" 181 echo "ERROR ${target_meta_head} is not a valid commit ID"
186 echo "The kernel source tree may be out of sync" 182 echo "The kernel source tree may be out of sync"
187 exit 1 183 exit 1
184 else
185 echo "Forcing branch meta to ${target_meta_head}"
186 git branch -m ${KMETA} ${KMETA}-orig
187 git checkout -b ${KMETA} ${target_meta_head}
188 fi 188 fi
189 fi 189 fi
190 fi 190 fi