commit - e68d855946d9c32185381174abd4cf13b733a49f
commit + 1d063c9d8b4c6770912abf7077b3053fcacdcbe9
blob - 402a7ba1b83797447f45932299ebb64f0a102817
blob + 3567dcf2df596dea1c77f6199a104f66664d2159
--- got-archive-all
+++ got-archive-all
}
usage() {
- die 1 "Usage: got-archive-all [-sV] [-o outdir] [-t tmpdir] prefix"
+ die 1 "Usage: got-archive-all [-fsV] [-o outdir] [-t tmpdir] prefix"
}
-args=$(getopt o:st:V $*)
+args=$(getopt fo:st:V $*)
[ $? -ne 0 ] && usage
set -- $args
+force=0
+outdir=.
flags=
while [ $# -ne 0 ]; do
case "$1" in
+ -f)
+ force=1
+ shift
+ ;;
-o)
+ outdir=$2
flags="$flags -o $2"
shift
shift
prefix=$1
-printf 'flags=%s\n' "$flags"
-
for repo in "$prefix"/*.git; do
[ -d "$repo/refs/tags" ] || continue
+ name=$(basename "$repo" .git)
+
for tag in "$repo"/refs/tags/*; do
tag=$(basename "$tag")
-
- got-archive $flags -b "$tag" "$repo"
+ if [ ! -e "$outdir/$name-$tag.tgz" ] || [ "$force" = 1 ]; then
+ got-archive $flags -b "$tag" "$repo"
+ fi
done
done
blob - e20a780fc790c6d9bff0126efee49cc9c79c610e
blob + ade310647577a32a9c771e9b79ee7fd4b2ca9a34
--- got-archive-all.1
+++ got-archive-all.1
.Nd run got-archive(1) on all repositories
.Sh SYNOPSIS
.Nm got-archive-all
-.Op Fl sV
+.Op Fl fsV
.Op Fl o Ar outdir
.Op Fl t Ar tmpdir
.Ar directory
.Pp
The options are as follows:
.Bl -tag -width -Ds
+.It Fl f
+Don't skip already existing tarballs.
.It Fl o Ar outdir
An existing directory in which the tarball will be created.
By default, this will be the current working directory.