6 db6c077f 2023-12-27 benni echo "$@" >&2
11 db6c077f 2023-12-27 benni die 1 "Usage: got-archive [-s] [-b branch/tag] [-o outdir] [-t tmpdir] repo"
14 db6c077f 2023-12-27 benni args=$(getopt b:o:st: $*)
15 db6c077f 2023-12-27 benni [ $? -ne 0 ] && usage
17 db6c077f 2023-12-27 benni set -- $args
22 db6c077f 2023-12-27 benni tmpdir="/tmp/got-archive"
24 db6c077f 2023-12-27 benni while [ $# -ne 0 ]; do
25 db6c077f 2023-12-27 benni case "$1" in
56 db6c077f 2023-12-27 benni [ $# -ne 1 ] && usage
59 db6c077f 2023-12-27 benni name=$(basename "$repo" | sed 's/\.git$//')
60 db6c077f 2023-12-27 benni if [ "$strip" = 1 ]; then
61 db6c077f 2023-12-27 benni ver=$(echo "$branch" | sed 's/^v//g')
63 db6c077f 2023-12-27 benni ver=$branch
66 db6c077f 2023-12-27 benni [ -d "$repo" ] || die 2 "Error: invalid repo: $repo"
68 db6c077f 2023-12-27 benni mkdir -p "$tmpdir"
70 db6c077f 2023-12-27 benni if [ "$branch" ]; then
71 db6c077f 2023-12-27 benni cname="$name-$ver"
72 db6c077f 2023-12-27 benni got checkout -q -b "$branch" "$repo" "$tmpdir/$cname" || die 3 "Error: failed to checkout"
74 db6c077f 2023-12-27 benni cname="$name"
75 db6c077f 2023-12-27 benni got checkout -q "$repo" "$tmpdir/$cname" || die 3 "Error: failed to checkout"
78 db6c077f 2023-12-27 benni rm -rf "$tmpdir/$cname/.got"
79 db6c077f 2023-12-27 benni tar -czf "$outdir/$cname.tgz" -C "$tmpdir" "$cname" || die 4 "Error: failed to create tarball"
80 db6c077f 2023-12-27 benni rm -rf "$tmpdir/$cname"