mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
"$DIR" might not be a full path and it might not have `pwd` as ".." directory. So use `cd -` to undo the first `cd` command. Also, use `basename` to make a symbolic link with a relative path. This doesn't matter yet but it will when for example the commands to clone OVMF is been run from tools/ rather than tools/firmware/. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
28 lines
475 B
Bash
Executable File
28 lines
475 B
Bash
Executable File
#!/bin/sh
|
|
|
|
if test $# -lt 3; then
|
|
echo "Usage: $0 <tree> <tag> <dir>"
|
|
exit 1
|
|
fi
|
|
|
|
TREE=$1
|
|
TAG=$2
|
|
DIR=$3
|
|
|
|
set -e
|
|
|
|
if test \! -d $DIR-remote; then
|
|
rm -rf $DIR-remote $DIR-remote.tmp
|
|
mkdir -p $DIR-remote.tmp; rmdir $DIR-remote.tmp
|
|
$GIT clone $TREE $DIR-remote.tmp
|
|
if test "$TAG" ; then
|
|
cd $DIR-remote.tmp
|
|
$GIT branch -D dummy >/dev/null 2>&1 ||:
|
|
$GIT checkout -b dummy $TAG
|
|
cd -
|
|
fi
|
|
mv $DIR-remote.tmp $DIR-remote
|
|
fi
|
|
rm -f $DIR
|
|
ln -sf $(basename $DIR-remote) $DIR
|