summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2012-09-04 08:40:34 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-04 14:46:17 +0100
commitd7805cfac4a58971dbef6eb903149dd6099bcf69 (patch)
tree545783d89c284cf403ee5492f746f5f40d59ea9e
parent611f16a8d84ffd4cb221d851000226411c59302f (diff)
downloadpoky-d7805cfac4a58971dbef6eb903149dd6099bcf69.tar.gz
linux-yocto: check for bad SRCREV before branch checks
do_validate_branches ensures that the desired SRCREV is at the tip of every branch that contains the revision. To do this, it looks for containing branches and processes them. This processing was mistakenly placed before the check for an invalid SRCREV, hence a git error message is seen in the log if a bad SRCREV is used, rather than a clear message. reordering the checks, and fixing a check for master, ensures that clear messages are generated in all cases. (From OE-Core rev: 7e4518bf88af53b09536a3bafcd4c392a094023f) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/kernel-yocto.bbclass15
1 files changed, 8 insertions, 7 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 45918d65aa..724e5cd475 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -258,12 +258,6 @@ do_validate_branches() {
258 return 258 return
259 fi 259 fi
260 260
261 containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'`
262 if [ -z "$containing_branches" ]; then
263 echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches"
264 echo " contain this commit"
265 exit 1
266 fi
267 ref=`git show ${target_branch_head} 2>&1 | head -n1 || true` 261 ref=`git show ${target_branch_head} 2>&1 | head -n1 || true`
268 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then 262 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
269 echo "ERROR ${target_branch_head} is not a valid commit ID." 263 echo "ERROR ${target_branch_head} is not a valid commit ID."
@@ -271,6 +265,13 @@ do_validate_branches() {
271 exit 1 265 exit 1
272 fi 266 fi
273 267
268 containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'`
269 if [ -z "$containing_branches" ]; then
270 echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches"
271 echo " contain this commit"
272 exit 1
273 fi
274
274 # force the SRCREV in each branch that contains the specified 275 # force the SRCREV in each branch that contains the specified
275 # SRCREV (if it isn't the current HEAD of that branch) 276 # SRCREV (if it isn't the current HEAD of that branch)
276 git checkout -q master 277 git checkout -q master
@@ -278,7 +279,7 @@ do_validate_branches() {
278 branch_head=`git show-ref -s --heads ${b}` 279 branch_head=`git show-ref -s --heads ${b}`
279 if [ "$branch_head" != "$target_branch_head" ]; then 280 if [ "$branch_head" != "$target_branch_head" ]; then
280 echo "[INFO] Setting branch $b to ${target_branch_head}" 281 echo "[INFO] Setting branch $b to ${target_branch_head}"
281 if [ "$b" == "master" ]; then 282 if [ "$b" = "master" ]; then
282 git reset --hard $target_branch_head > /dev/null 283 git reset --hard $target_branch_head > /dev/null
283 else 284 else
284 git branch -D $b > /dev/null 285 git branch -D $b > /dev/null