Rainer M Krug <rai...@krugs.de> writes:

> Hi
>
> I have a question concerning a bash script to update org (and ess in
> the same way but in a different script).
>
> The script I use to update org looks as follow:
>
> #!/bin/sh
> cd ~/.emacs.d/org-git
>
> ####
> #!/bin/sh
> git checkout master
> make update
> ####
>
> which works nicely, but I would like to only execute the "make update"
> if git updated something - I am sure this is possible, but how?
>

It seems to me that the dependencies are not dealt with correctly in the
Makefile, so after the git pull (whether that did anything or not),
``make update'' rebuilds everything. Ideally, it should figure out what
needs rebuilding and just do that - then you wouldn't need anything
more. OTOH, CPU cycles are cheap and rebuilding everything only takes 12
seconds on my laptop, so should we really care?

Be that as it may, you can try something like this hack (those are backticks
around the git pull - it's under the ESC key in the upper left hand
corner on most US keyboards but it may be somewhere else on yours):

    if [ "`git pull`" == "Already up-to-date" ]
    then
        echo "Up to date"
    else
        make update
    fi

Nick



Reply via email to