]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/infrastructure/mirror/git-mirror-update.sh
more infrastructure
[xonotic/xonotic.git] / misc / infrastructure / mirror / git-mirror-update.sh
diff --git a/misc/infrastructure/mirror/git-mirror-update.sh b/misc/infrastructure/mirror/git-mirror-update.sh
new file mode 100755 (executable)
index 0000000..87f7ea3
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+set -e
+
+exec >/dev/null 2>&1
+
+me=/var/tmp/git-mirror-lock
+if ! lockfile-create "$me"; then
+       exit 1
+fi
+lockfile-touch "$me" & lockpid=$!
+trap 'kill $lockpid || true; cd "$mepwd"; lockfile-remove "$me"' EXIT
+trap 'exit 1' INT TERM
+
+mkdir -p /var/cache/git/xonotic
+cd /var/cache/git/xonotic
+ssh xonotic@git.xonotic.org ./send-git-configs.sh | tar xvf -
+
+for X in /var/cache/git/*/*.git; do
+       cd "$X"
+       git config remote.origin.fetch "+refs/*:refs/*"
+       git config remote.origin.mirror "true"
+       git config remote.origin.url "git://git.xonotic.org/${X#/var/cache/git/}"
+       git fetch
+       git remote prune origin
+       git gc --auto
+       touch git-daemon-export-ok
+done