diff options
Diffstat (limited to 'puppet/bin/submodules')
-rwxr-xr-x | puppet/bin/submodules | 31 |
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 |