swh:1:snp:146792331b15ae9761288bf08f9e0fd689719bca
Tip revision: ce536210d01eab1fdc6a2c6aff9c505c34047339 authored by MichaelBarz on 24 July 2015, 13:54:24 UTC
Merge branch 'master' of http://github.com/pupil-labs/pupil
Merge branch 'master' of http://github.com/pupil-labs/pupil
Tip revision: ce53621
update
#!/bin/bash
#
# Usage: pull
#
# Pulls remote changes using rebase & tries to rebundle,
# safely stashing and re-applying your local changes, if any
#
function do_update(){
# Update our remote
echo "Fetching from $remote ..."
git fetch $remote || exit $?
# Pull, using rebase if configured
rebase="--rebase" # TODO disable if env-var is set
git pull $rebase $remote $remote_branch || exit $?
# Update submodules
git submodule update || exit $?
echo "Done"
}
cd $(dirname $0)
branch=$(git branch --no-color 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/') || exit $?
default_remote="origin"
remote=$(git config "branch.${branch}.remote" || echo "$default_remote")
remote_branch=$( (git config "branch.${branch}.merge" || echo "refs/heads/$branch") | awk -F '/' '{ print $3 }' )
# Stash any local changes
stash=$(git stash)
if [[ "$stash" =~ "No local changes to save" ]]; then
do_update
exit 0
fi
echo "You have made changes to the source code. Do you want to continue the update and have them saved in a WIP stash?"
read -p "Type: Yes/No" -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]] ; then
do_update
exit 0
fi
git stash pop
echo "Aborted the Update, nothing changed"
exit 1