ManageIQ/manageiq-api-common

View on GitHub
bin/promote

Summary

Maintainability
Test Coverage
#!/usr/bin/env bash

if ! git diff-index --quiet HEAD -- ; then
  echo "Cannot promote with a dirty working tree."
  exit 1
fi

REMOTE=${2:-upstream}
SOURCE=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse HEAD)

DEST=$1
if [ -z "${DEST}" ]; then
  echo "Usage: $0 dest-branch [dest-remote]"
  exit 1
fi

echo "Promoting ${SOURCE} to ${DEST}..."
set -e
set -x

git checkout "${DEST}" || git checkout -b "${DEST}"
git merge --no-ff --no-edit "${SOURCE}"
git push "${REMOTE}" "${DEST}"
git checkout -