aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2012-08-22 01:18:05 -0400
committerScott Garman <scott.a.garman@intel.com>2012-08-24 00:46:57 -0700
commit3a8dc0a01d2756bb8f51afccad772fca1dc48af3 (patch)
tree172326cc13a7d1bded96510689a1ec4eef42c66b
parent790f6441851fd4b2b84129340c438092f058135b (diff)
downloadopenembedded-core-3a8dc0a01d2756bb8f51afccad772fca1dc48af3.tar.gz
kernel-yocto: set master branch to a defined SRCREV
To support custom repositories that set a SRCREV and that only have a single master branch, do_validate_branches needs a special case for 'master'. We can't delete and recreate the branch, since you cannot delete the current branch, instead we must reset the branch to the proper SRCREV. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--meta/classes/kernel-yocto.bbclass12
1 files changed, 8 insertions, 4 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index d859d763d4..e6758cfa42 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -270,11 +270,15 @@ do_validate_branches() {
# SRCREV (if it isn't the current HEAD of that branch)
git checkout -q master
for b in $containing_branches; do
- branch_head=`git show-ref -s --heads ${b}`
+ branch_head=`git show-ref -s --heads ${b}`
if [ "$branch_head" != "$target_branch_head" ]; then
- echo "[INFO] Setting branch $b to ${target_branch_head}"
- git branch -D $b > /dev/null
- git branch $b $target_branch_head > /dev/null
+ echo "[INFO] Setting branch $b to ${target_branch_head}"
+ if [ "$b" == "master" ]; then
+ git reset --hard $target_branch_head > /dev/null
+ else
+ git branch -D $b > /dev/null
+ git branch $b $target_branch_head > /dev/null
+ fi
fi
done