#!/bin/bash # # Setup a new code project. # # TODO: should work for more use cases. # Parameters BASENAME="`basename $0`" CODE="$HOME/code" PROJECT="$1" REPO="$2" BOOTSTRAP="git://git.sarava.org/puppet-bootstrap.git" # Syntax check if [ -z "$PROJECT" ]; then echo "usage: $BASENAME [url]" exit 1 fi # Clone or initialize if [ ! -z "$REPO" ]; then git clone $URL $CODE/$PROJECT else echo "Initializing $PROJECT..." mkdir -p $CODE/$PROJECT ( cd $CODE/$PROJECT touch .gitignore git init git add . git commit -m "Initial import" if which git-hooks &> /dev/null; then echo "" echo "Installing hooks..." git hooks --install fi git branch develop if [ -e "/usr/lib/git-core/git-flow" ]; then echo "" echo "Setting up git-flow..." git flow init -d fi ) fi # Vagrant integration ( echo "" echo "Setting up vagrant integration..." cd $CODE/$PROJECT git checkout develop echo '.vagrant' >> .gitignore git commit -a -m "Dev branch with vagrant support" # Use the best approach #git clone $BOOSTRAP $CODE/$PROJECT/puppet #git submodule add $BOOSTRAP puppet git remote add puppet $BOOTSTRAP git subtree add --prefix puppet $BOOTSTRAP master --squash ) # Teardown echo "Welcome to your new project :)"