summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/fossil-archive27
1 files changed, 27 insertions, 0 deletions
diff --git a/bin/fossil-archive b/bin/fossil-archive
new file mode 100755
index 0000000..6a244d6
--- /dev/null
+++ b/bin/fossil-archive
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -eu
+
+[ "$#" -lt 2 ] && {
+ echo "Use: [workdir] [basepath] #items on stdin"
+ exit;
+}
+
+readonly mepath="$(readlink -m $(dirname $0)/..)"
+
+base_dir="$1"; shift
+base_url="$1"; shift
+
+safeurl() { echo "$1" | sed 's,/,_,g'; }
+
+[ -d "$base_dir" ] || mkdir "$base_dir"
+
+item_id="$(safeurl "$(echo "$base_url" | sed -e 's,^http,,;s,^s,,;s,^://,,' -e 's,$,_bundles_'"$(date +%Y%m%d)"',')")"
+work_dir="${base_dir}/${item_id}"
+
+echo "making $item_id folder"
+mkdir "$work_dir"
+
+while IFS='' read -r url; do
+ fossil clone --unversioned -v --once --no-open "$url" "$work_dir/$(safeurl "$url").bundle" || true
+ cp "${mepath}/samples/fossil-bundle.dir-to-ia.config" "${work_dir}/dir-to-ia.config"
+done