Blob


1 #!/bin/sh
3 die() {
4 ec=$1
5 shift
6 echo "$@" >&2
7 exit "$ec"
8 }
10 usage() {
11 die 1 "Usage: got-archive-all [-sV] [-o outdir] [-t tmpdir] prefix"
12 }
14 args=$(getopt o:st:V $*)
15 [ $? -ne 0 ] && usage
17 set -- $args
19 flags=
20 while [ $# -ne 0 ]; do
21 case "$1" in
22 -o)
23 flags="$flags -o $2"
24 shift
25 shift
26 ;;
27 -s)
28 flags="$flags -s"
29 shift
30 ;;
31 -t)
32 flags="$flags -t $2"
33 shift
34 shift
35 ;;
36 -V)
37 echo "got-archive-all-@VERSION@"
38 exit 1
39 ;;
40 --)
41 shift
42 break
43 ;;
44 esac
45 done
47 [ $# -ne 1 ] && usage
49 prefix=$1
51 printf 'flags=%s\n' "$flags"
53 for repo in "$prefix"/*.git; do
54 [ -d "$repo/refs/tags" ] || continue
56 for tag in "$repo"/refs/tags/*; do
57 tag=$(basename "$tag")
59 got-archive $flags -b "$tag" "$repo"
60 done
61 done