diff options
Diffstat (limited to 'bin/subtrees')
-rwxr-xr-x | bin/subtrees | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/bin/subtrees b/bin/subtrees index 1858a48..19211f1 100755 --- a/bin/subtrees +++ b/bin/subtrees @@ -18,24 +18,31 @@ if ! which git-subtree &> /dev/null; then exit 1 fi +# Set puppet folder +if [ -d "puppet" ]; then + PUPPET_FOLDER="puppet" +else + PUPPET_FOLDER="." +fi + # Get module list repos="`grep = $DIRNAME/../.mrconfig | cut -d = -f 2 | cut -d ' ' -f 4`" # Add subtrees for repo in $repos; do module="`basename $repo .git | sed -e s/^puppet-//`" - if [ ! -d "modules/$module" ]; then + if [ ! -d "$PUPPET_FOLDER/modules/$module" ]; then echo "Processing puppet module $module..." git remote add $module $repo - git subtree add --prefix modules/$module $module master --squash + git subtree add --prefix $PUPPET_FOLDER/modules/$module $module master --squash elif [ ! -d "modules/$module/.git" ]; then # The puppet module exists and is a subtree, so update it if ! git remote | grep -qe "^$module$"; then - git remote add $module $repo + git remote add $module $repo fi # Update subtrees git fetch $module master - git subtree pull --prefix modules/$module $module master --squash + git subtree pull --prefix $PUPPET_FOLDER/modules/$module $module master --squash fi done |