33 lines
679 B
Plaintext
33 lines
679 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
if [ -z "$1" ]; then
|
||
|
echo "command missing in arguments" >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# get the current branch name
|
||
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||
|
|
||
|
while true; do
|
||
|
|
||
|
# get the latest commit hashes from origin and local
|
||
|
git fetch origin
|
||
|
LOCAL=$(git rev-parse HEAD)
|
||
|
REMOTE=$(git rev-parse origin/$BRANCH)
|
||
|
|
||
|
# check if the local branch differs from the remote branch
|
||
|
if [ "$LOCAL" != "$REMOTE" ]; then
|
||
|
echo "pulling changes from origin"
|
||
|
git pull origin $BRANCH
|
||
|
|
||
|
# run the command
|
||
|
echo "Running $*"
|
||
|
"$@"
|
||
|
else
|
||
|
echo "no changes detected on the origin branch"
|
||
|
fi
|
||
|
|
||
|
echo "waiting for 1 minute before checking again..."
|
||
|
sleep 60
|
||
|
done
|