summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-09-28 14:12:06 +0200
committerErich Eckner <git@eckner.net>2018-09-28 14:12:06 +0200
commitae5d9e45f7de537c22e6e4e36524ef15b739007b (patch)
tree4160b5807b0d752931a16173c6357b3023355271
parent9f5ca8045d6f9a2aae538f124c20038a833c94db (diff)
downloadarchive-server-ae5d9e45f7de537c22e6e4e36524ef15b739007b.tar.xz
clone-repos new
-rwxr-xr-xclone-repos22
1 files changed, 22 insertions, 0 deletions
diff --git a/clone-repos b/clone-repos
new file mode 100755
index 0000000..6991380
--- /dev/null
+++ b/clone-repos
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+base_dir=$(dirname "$(readlink -f "$0")")
+
+if [ ! -s "${base_dir}/work/wish-list" ]; then
+ exit
+fi
+
+while read -r source_base64; do
+ if [ -d "${base_dir}/work/repositories/${source_base64}" ]; then
+ continue
+ fi
+ source=$(
+ printf '%s' "${source_base64}" | \
+ base64 -d
+ )
+ git -C "${base_dir}/work/repositories" clone --mirror "${source}" "${source_base64}"
+done < \
+ "${base_dir}/work/wish-list"
+
+grep -vxF "$(ls "${base_dir}/work/repositories")" "${base_dir}/work/wish-list" | \
+ sponge "${base_dir}/work/wish-list"