From ea99d61bf381b7fc38d43106af81332abde78cd8 Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Fri, 13 Sep 2024 09:46:01 +0200 Subject: [PATCH] add bin/git-pull-and-run-if-origin-changed --- bin/git-pull-and-run-if-origin-changed | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 bin/git-pull-and-run-if-origin-changed diff --git a/bin/git-pull-and-run-if-origin-changed b/bin/git-pull-and-run-if-origin-changed new file mode 100755 index 00000000..48c5f22e --- /dev/null +++ b/bin/git-pull-and-run-if-origin-changed @@ -0,0 +1,32 @@ +#!/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