added generate-mrconfig.sh for genrating a .mrconfig from gitolite ssh access
authorvarac <varacanero@zeromail.org>
Fri, 19 Jul 2013 16:16:41 +0000 (18:16 +0200)
committervarac <varacanero@zeromail.org>
Fri, 19 Jul 2013 16:16:41 +0000 (18:16 +0200)
generate-mrconfig.sh [new file with mode: 0755]

diff --git a/generate-mrconfig.sh b/generate-mrconfig.sh
new file mode 100755 (executable)
index 0000000..0d6e799
--- /dev/null
@@ -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'