diff options
-rwxr-xr-x | bin/x2go-pkgneedsbuild | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/bin/x2go-pkgneedsbuild b/bin/x2go-pkgneedsbuild index 33593e9..cb36112 100755 --- a/bin/x2go-pkgneedsbuild +++ b/bin/x2go-pkgneedsbuild @@ -17,30 +17,32 @@ # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA -set -e +set -xe CHECKOUT=${1:-master} -[ -d .git ] || { echo "error: cwd is not a Git project directory"; exit -1; } +[ -d .git ] && { -DATE=$(date +%s) -CURRENT_BRANCH=$(git branch | grep "*" | awk '{print $2}') + TIMESTAMP=$(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 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 + # switch to a tmp branch... + git checkout -b tmp-$TIMESTAMP &>/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-$TIMESTAMP >/dev/null + exit 1 + } || { + # drop the tmp branch + git checkout $CURRENT_BRANCH &>/dev/null + git branch -D tmp-$TIMESTAMP >/dev/null + exit 0 + } -# 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 } |