aboutsummaryrefslogtreecommitdiff
path: root/sandbox
blob: 6f1e120699f77fff01a87079a67f7cf4edebaeb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/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 <path> [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 :)"