#!/bin/bash # Copyright (C) 2010-2011 by Mike Gabriel # # Python X2go is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # Python X2go is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA set -e CHECKOUT=${1:-master} [ -d .git ] || { echo "error: cwd is not a Git project directory"; exit -1; } DATE=$(date +%s) CURRENT_BRANCH=$(git branch | grep "*" | awk '{print $2}') # switch to branch given as $CHECKOUT, if it does not exist locally, create it... git checkout $CHECKOUT &>/dev/null || git checkout -b $CHECKOUT >/dev/null # switch to a tmp branch... git checkout -b tmp-$DATE &>/dev/null # pull $CHECKOUT from origin into the tmp branch LANG=en_US.UTF-8 git pull origin $CHECKOUT 2>/dev/null | egrep "^Already up-to-date.$" &>/dev/null && { # drop the tmp branch git checkout $CURRENT_BRANCH &>/dev/null git branch -D tmp-$DATE >/dev/null exit 1 } || { # drop the tmp branch git checkout $CURRENT_BRANCH &>/dev/null git branch -D tmp-$DATE >/dev/null exit 0 }