#!/usr/bin/env bash # This script pushes the current branch to the origin repository. # As an added bonus, it refreshes the local master branch from # the origin, to make sure your branch is in sync with the master of the # repo you're pushing to. # # Syntax: git-push [branch (default=current)] . llvm-common branch= if [[ $1 != '' ]]; then if [[ `git branch | grep $1` = '' ]]; then echo "Branch '$1' doesn't exist in this repository" exit 2 fi branch=$1 else branch=`get_branch` fi if [[ $branch = 'master' ]]; then echo "Can't push the master branch." echo "Use git-refresh instead." exit 1 fi prefix="linaro-local/" if echo $branch | grep -q linaro-local; then prefix="" fi echo " ++ Refresh Master from Upstream" safe_run git-refresh echo " ++ Rebase to new master" safe_run git checkout $branch safe_run git rebase master echo " ++ Push $branch to Origin" safe_run git push -u origin +$branch:$prefix$branch