Re: checking action of git-pull
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:44
"Mark Ryden" [off-list ref] writes:
Hello, I am working against a git repository which is updated at non regular intervals; sometimes it takes a day and sometimes a week or two. I have a script in crontab which runs daily which tries "git pull" of this repository. I want write a bash script which echoes yhe result of this git pull to a log file in such a way that in case that any files were pulled, a short message saying "files were pulled at date ddmmyyyy" will be added to a log file. In case that there there were no changes, a message saying "Already up-to-date (ddmmyyyy) will be added to a log file. How can it be done ? can I test somehow the return value of git pull in a bash script for these two different cases?
You know that a no-op pull does not update HEAD and a successful pull
does. So your script would do something like:
#!/bin/sh
original_head=$(git rev-parse HEAD) || exit
git pull origin || exit
updated_head=$(git rev-parse HEAD) || exit
if test "$updated_head" = "$original_head"
then
echo Upstream is idling
else
echo These new commits were brought in
git shortlog $original_head..$updated_head
fi