hs.hsadmin.ng/bin/git-pull-and-run-if-origin-changed
2024-09-16 08:47:40 +02:00

33 lines
679 B
Bash
Executable File

#!/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