script/release.sh: make it possible to run from a git worktree
authorStefan Metzmacher <metze@samba.org>
Tue, 21 Jan 2020 18:25:00 +0000 (19:25 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 21 Jan 2020 18:36:04 +0000 (19:36 +0100)
.git is a regular file in that case.

Also check that script/release.sh is present as a relative path
to ensure we're called from the expected location.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
(cherry picked from commit 648f94d2031c6e758bdf54089d1e710c265ca732)

script/release.sh

index b533e2594401e03a3b9f74fc792bb33d9abb078e..6c3ba0d4addeb9735725796d7a38e559fd954254 100755 (executable)
@@ -17,14 +17,14 @@ CONF_UPLOAD_URL="samba-bugs@download-master.samba.org:/home/data/ftp/pub"
 CONF_DOWNLOAD_URL="https://download.samba.org/pub"
 CONF_HISTORY_URL="https://www.samba.org"
 
-test -d ".git" || {
+test -d ".git" -o -r ".git" || {
        echo "Run this script from the top-level directory in the"
        echo "repository"
        exit 1
 }
 
 usage() {
-       echo "Usage: release.sh <PRODUCT> <COMMAND>"
+       echo "Usage: script/release.sh <PRODUCT> <COMMAND>"
        echo ""
        echo "PRODUCT: ldb, talloc, tevent, tdb, samba-rc, samba-stable"
        echo "COMMAND: fullrelease, create, push, upload, announce"
@@ -32,6 +32,13 @@ usage() {
        return 0
 }
 
+test -x "script/release.sh" || {
+       usage
+       echo "Run this script from the top-level directory in the"
+       echo "repository: as 'script/release.sh'"
+       exit 1
+}
+
 check_args() {
        local cmd="$1"
        local got_args="$2"