Re: checking action of git-pull
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 7, 2008, 10:51 UTC
- Message-ID
- <7vprk4cl7i.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <dac45060812070023h7f6a6c86ve2e4ba9f1773f03f@mail.gmail.com>
"Mark Ryden" <markryde@gmail.com> writes:
Show 18 quoted lines
> 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