linux-wrs: allow packed refs to be present

The code which creates a working tree from the source
Wind River Linux git repository manipulates the refs
to make non-tracking, local branches. packed-refs remove
the files from refs, making this code break and the builds
fail.

To fix this, if we detect the packed refs we simply create
the local refs from the remote branches.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Bruce Ashfield
2010-08-19 16:37:03 -04:00
committed by Richard Purdie
parent a33579dc71
commit e7e01e7831

View File

@@ -65,8 +65,23 @@ do_wrlinux_checkout() {
rm -rf ${S}
mkdir ${S}
mv ${WORKDIR}/.git ${S}
mv ${S}/.git/refs/remotes/origin/* ${S}/.git/refs/heads
rmdir ${S}/.git/refs/remotes/origin
if [ -e ${S}/.git/packed-refs ]; then
cd ${S}
rm -f .git/refs/remotes/origin/HEAD
IFS='
';
for r in `git show-ref | grep remotes`; do
ref=`echo $r | cut -d' ' -f1`;
b=`echo $r | cut -d'/' -f4`;
echo $ref > .git/refs/heads/$b
done
cd ..
else
mv ${S}/.git/refs/remotes/origin/* ${S}/.git/refs/heads
rmdir ${S}/.git/refs/remotes/origin
fi
fi
cd ${S}
git checkout -f ${WRMACHINE}-${LINUX_KERNEL_TYPE}