git-checkout.sh: handle running git-checkout from a different directory
authorAnthony PERARD <anthony.perard@citrix.com>
Thu, 13 Oct 2022 13:05:04 +0000 (14:05 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 14 Oct 2022 19:56:57 +0000 (20:56 +0100)
"$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>
scripts/git-checkout.sh

index 20ae31ff236ddb3f977afb7f03a7458ffd1ecfdf..fd4425ac4ee8687e0e88bfc89c1dfd4f0cc342a9 100755 (executable)
@@ -19,9 +19,9 @@ if test \! -d $DIR-remote; then
                cd $DIR-remote.tmp
                $GIT branch -D dummy >/dev/null 2>&1 ||:
                $GIT checkout -b dummy $TAG
-               cd ..
+               cd -
        fi
        mv $DIR-remote.tmp $DIR-remote
 fi
 rm -f $DIR
-ln -sf $DIR-remote $DIR
+ln -sf $(basename $DIR-remote) $DIR