6 db6c077f 2023-12-27 benni echo "$@" >&2
11 67f102f4 2023-12-28 benni die 1 "Usage: got-archive [-afsV] [-o outdir] [-t tmpdir] repo [ref...]"
14 67f102f4 2023-12-28 benni args=$(getopt afo:st:V $*)
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
49 ec8f1d27 2023-12-27 benni echo "got-archive-@VERSION@"
59 67f102f4 2023-12-28 benni [ $# -lt 1 ] && usage
62 9362f1cc 2023-12-27 benni name=$(basename "$repo" .git)
63 67f102f4 2023-12-28 benni mkdir -p "$tmpdir"
65 db6c077f 2023-12-27 benni [ -d "$repo" ] || die 2 "Error: invalid repo: $repo"
68 67f102f4 2023-12-28 benni # $2 - name
70 67f102f4 2023-12-28 benni cdir="$tmpdir/$2"
71 67f102f4 2023-12-28 benni tarfile="$outdir/$2.tgz"
73 67f102f4 2023-12-28 benni [ -e "$tarfile" ] && [ "$force" = 0 ] && return
75 e68d8559 2023-12-27 benni rm -rf "$cdir"
76 edeab4fb 2023-12-28 benni got checkout -q -c "$1" "$repo" "$cdir" || die 3 "Error: $2: failed to checkout: $2"
77 67f102f4 2023-12-28 benni rm -rf "$cdir/.got"
78 edeab4fb 2023-12-28 benni tar -czf "$tarfile" -C "$tmpdir" "$2" || die 4 "Error: $2: failed to create tarball: $tarfile"
79 e68d8559 2023-12-27 benni rm -rf "$cdir"
82 67f102f4 2023-12-28 benni if [ "$all" = 1 ]; then
83 67f102f4 2023-12-28 benni [ $# -ne 0 ] && die 1 "Error: Can't combine -a and explicit refs"
85 67f102f4 2023-12-28 benni tags=$(find "$repo/refs/tags" -type f -exec basename {} \; 2>/dev/null)
86 6d4d72f4 2023-12-28 benni [ $? -ne 0 ] && exit 0
87 67f102f4 2023-12-28 benni set -- $tags
90 67f102f4 2023-12-28 benni mkdir -p "$outdir"
92 67f102f4 2023-12-28 benni if [ $# -gt 0 ]; then
93 67f102f4 2023-12-28 benni while [ $# -ne 0 ]; do
94 67f102f4 2023-12-28 benni if [ "$strip" = 1 ]; then
95 67f102f4 2023-12-28 benni ref=$(echo "$1" | sed 's/^v//g')
99 67f102f4 2023-12-28 benni gen "$1" "$name-$ref"
103 67f102f4 2023-12-28 benni gen "HEAD" "$name"