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>
# 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