24 lines
667 B
Bash
24 lines
667 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
echo "$(date --utc +%FT%TZ): Fetching remote repository..."
|
||
|
git fetch
|
||
|
|
||
|
UPSTREAM=${1:-'@{u}'}
|
||
|
LOCAL=$(git rev-parse @)
|
||
|
REMOTE=$(git rev-parse "$UPSTREAM")
|
||
|
BASE=$(git merge-base @ "$UPSTREAM")
|
||
|
|
||
|
if [ $LOCAL = $REMOTE]; then
|
||
|
echo "$(date --utc +%FT%TZ): No change detected in git"
|
||
|
elif [ $LOCAL = $BASE ]; then
|
||
|
BUILD_VERSION=$(git rev-parse HEAD)
|
||
|
echo "$(date --utc +%FT%TZ): Changes detected, deploying new version: $BUILD_VERSION"
|
||
|
./scripts/deploy.sh
|
||
|
elif [$REMOTE = $BASE]; then
|
||
|
echo "$(date --utc +%FT%TZ): Local changes detected, stashing"
|
||
|
git stash
|
||
|
./scripts/deploy.sh
|
||
|
else
|
||
|
echo "$(date --utc +%FT%TZ): Git is diverged, this is unexpected."
|
||
|
fi
|