blob: 2869dcf7a6ed84bed0a28ad439b87b4b135e92d1 [file] [log] [blame]
#!/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