#!/bin/sh

CURRENT_BRANCH=`git rev-parse --abbrev-ref HEAD`

if [ $CURRENT_BRANCH != 'master' ] ; then
  echo "Build not on master. Skipped bower-chosen release"
  exit 0
fi

git clone https://pfiller:${GH_TOKEN}@github.com/harvesthq/bower-chosen.git
rm -rf bower-chosen/*
cp public/bower.json public/*.png public/chosen.jquery.min.js public/chosen.min.css bower-chosen/
cd bower-chosen


LATEST_VERSION=$(git diff bower.json | grep version | cut -d':' -f2 | cut -d'"' -f2 | tail -1)

if [ -z $LATEST_VERSION ] ; then
  echo "No Chosen version change. Skipped tagging"
else
  echo "Chosen version changed. Tagging version ${LATEST_VERSION}\n"
  git tag -a "v${LATEST_VERSION}" -m "Version ${LATEST_VERSION}"
fi

git remote set-url origin https://pfiller:${GH_TOKEN}@github.com/harvesthq/bower-chosen.git
git add -A
git commit -m "Chosen build to bower-chosen"
git push origin master
git push origin --tags

echo "Chosen published to harvesthq/bower-chosen"

#!/bin/sh

CURRENT_BRANCH=`git name-rev --name-only HEAD`

if [ $CURRENT_BRANCH != 'master' ] ; then
  echo "Build not on master. Skipped bower-chosen release"
  exit 0
fi

git clone https://pfiller:${GH_TOKEN}@github.com/harvesthq/bower-chosen.git
rm -rf bower-chosen/*
cp public/bower.json public/*.png public/chosen.jquery.min.js public/chosen.min.css bower-chosen/
cd bower-chosen


LATEST_VERSION=$(git diff bower.json | grep version | cut -d':' -f2 | cut -d'"' -f2 | tail -1)

if [ -z $LATEST_VERSION ] ; then
  echo "No Chosen version change. Skipped tagging"
else
  echo "Chosen version changed. Tagging version ${LATEST_VERSION}\n"
  git tag -a "v${LATEST_VERSION}" -m "Version ${LATEST_VERSION}"
fi

git remote set-url origin https://pfiller:${GH_TOKEN}@github.com/harvesthq/bower-chosen.git
git add -A
git commit -m "Chosen build to bower-chosen"
git push origin master
git push origin --tags

echo "Chosen published to harvesthq/bower-chosen"

Allow detached head when parsing master ref.
Allow detached head when parsing master ref.

If we have checked out a commit instead of a branch name, git is in what’s known as “detached head” state.

This is what Travis does all the time.

This means that we were never considered to be on the branch “master”, and therefore were never publishing bower-chosen.

We can tweak the git command we’re calling to support either checked out branch names or detached heads — as long as we’re at the commit for a commit that is the head of master, we’re peachykeen!
