aboutsummaryrefslogtreecommitdiff
path: root/puppet/bin/submodules
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/bin/submodules')
-rwxr-xr-xpuppet/bin/submodules31
1 files changed, 31 insertions, 0 deletions
diff --git a/puppet/bin/submodules b/puppet/bin/submodules
new file mode 100755
index 0000000..f79b635
--- /dev/null
+++ b/puppet/bin/submodules
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Setup submodules.
+#
+
+# Parameters
+DIRNAME="`dirname $0`"
+
+# Usage
+function usage {
+ echo "Usage: $1 add-submodules <DIR>"
+ exit $2
+}
+
+# Get module list
+repos="`grep = $DIRNAME/../.mrconfig | cut -d = -f 2 | cut -d ' ' -f 4`"
+
+# Add submodules
+for repo in $repos; do
+ module="`basename $repo .git | sed -e s/^puppet-//`"
+ if [ ! -d "modules/$module" ]; then
+ echo "Processing puppet module $module..."
+ git submodule add $repo modules/$module
+ elif [ -e "modules/$module/.git" ]; then
+ # The puppet module exists and is a git submodule, so update it
+ ( cd module/$module && git pull origin master )
+ fi
+done
+
+# Update all modules
+git submodule update --init