summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgenerate-mrconfig.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/generate-mrconfig.sh b/generate-mrconfig.sh
new file mode 100755
index 0000000..0d6e799
--- /dev/null
+++ b/generate-mrconfig.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Generate a .mrconfig containing all private repos
+# adopted from https://github.com/svend/home-bin/blob/master/gen-mrconfig-priv
+
+
+# Exapmple:
+# ./gen-mrconfig.sh gitolite@admin.leap.se
+
+
+SSH=$1
+
+gen_mrconfig ()
+{
+ while read s; do
+ echo "[$(basename $s)]"
+ echo "checkout = git clone ssh://$SSH/$s"
+ echo
+ done
+}
+
+#ssh $SSH expand |
+ssh $SSH |
+# gitolite outputs list with DOS line endings
+tr -d '\r' |
+# only pick lines with space at the beginning
+grep '^ ' |
+
+# Last field contains the repo name
+awk '{print $NF}' |
+# filter out all special gitolite groups, i.e. @all
+grep -v '^@' |
+
+# All private repos are under svend-priv/
+#grep -e '^svend-priv/' -e '^gitolite-admin$' |
+gen_mrconfig |
+# Delete last empty line
+sed '$d'