#!/bin/bash
BRANCH=$1
if [ "$(whoami)" != "root" ]; then
	GVM_DEST=~
	GVM_NAME=.gvm
else
	GVM_DEST=/usr/local
	GVM_NAME=gvm
fi

ENV_FILE=~/.bashrc
SRC_REPO=git://github.com/moovweb/gvm.git

if [ -d $GVM_DEST/$GVM_NAME ]; then
  echo "Already installed!"
else
  cd $GVM_DEST && git clone $SRC_REPO $GVM_NAME > /dev/null 2>&1
  if [ $? -ne 0 ]; then
    echo "Failed to clone from $SRC_REPO into $GVM_DEST/$GVM_NAME"
    exit 1
  fi
  if [ "$BRANCH" == "stable" ]; then
    cd $GVM_DEST/$GVM_NAME && git checkout $BRANCH > /dev/null 2>&1
    if [ $? -ne 0 ]; then
      echo "Failed to checkout $BRANCH branch"
      exit 1
    fi
  fi
  mv $GVM_DEST/$GVM_NAME/.git $GVM_DEST/$GVM_NAME/git.bak
  if [ "$(whoami)" != "root" ]; then
    if [ -e ~/.bashrc ]; then
      cat ~/.bashrc | grep "\[\[ -s \"\$HOME/.gvm/scripts/gvm\" ]] && source \"\$HOME/.gvm/scripts/gvm\"" > /dev/null 2>&1
      if [ $? -ne 0 ]; then
        echo '[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"' >> $ENV_FILE
      fi
    else
      echo 'This must be a Mac... put this line in you profile and source it!'
      echo
      echo ' [[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"'
      echo
      echo "Maybe send me the file name and I'll look for it next time :)"
      echo
    fi
  fi
  echo "export GVM_ROOT=$GVM_DEST/$GVM_NAME" > $GVM_DEST/$GVM_NAME/scripts/gvm
  echo ". \$GVM_ROOT/scripts/gvm-default" >> $GVM_DEST/$GVM_NAME/scripts/gvm
  [[ -s "$GVM_DEST/$GVM_NAME/scripts/gvm" ]] && source "$GVM_DEST/$GVM_NAME/scripts/gvm"
  echo "Installed GVM v$GVM_VERSION"
  echo "Please restart your terminal session"
fi

