chiark / gitweb /
Merge commit 'topgit-0.5'
[topgit.git] / tg-export.sh
index a7c459a17f37c14696edfba30e121ce3ca10996e..52af88dfd14e891627b145f63702b1212155a82c 100644 (file)
@@ -21,7 +21,7 @@ while [ -n "$1" ]; do
        --collapse)
                driver=collapse;;
        -*)
-               echo "Usage: tg [...] export [-b BRANCH1,BRANCH2...] ([--collapse] NEWBRANCH | --quilt DIRECTORY)" >&2
+               echo "Usage: tg [...] export ([--collapse] NEWBRANCH | [-b BRANCH1,BRANCH2...] --quilt DIRECTORY)" >&2
                exit 1;;
        *)
                [ -z "$output" ] || die "output already specified ($output)"
@@ -30,13 +30,17 @@ while [ -n "$1" ]; do
 done
 
 
-name="$(git symbolic-ref HEAD | sed 's#^refs/heads/##')"
-base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" ||
-       die "not on a TopGit-controlled branch"
 
 [ -z "$branches" -o "$driver" = "quilt" ] ||
        die "-b works only with the quilt driver"
 
+if [ -z "$branches" ]; then
+       # this check is only needed when no branches have been passed
+       name="$(git symbolic-ref HEAD | sed 's#^refs/heads/##')"
+       base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" ||
+               die "not on a TopGit-controlled branch"
+fi
+
 
 playground="$(mktemp -d -t tg-export.XXXXXX)"
 trap 'rm -rf "$playground"' EXIT