aboutsummaryrefslogtreecommitdiff
path: root/bin/subtrees
diff options
context:
space:
mode:
Diffstat (limited to 'bin/subtrees')
-rwxr-xr-xbin/subtrees15
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