emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <ndokos@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: Bash script to update - only make when update there?
Date: Tue, 10 Dec 2013 10:59:07 -0500	[thread overview]
Message-ID: <87eh5klmt0.fsf@alphaville.bos.redhat.com> (raw)
In-Reply-To: 52A6D452.3030908@krugs.de

Rainer M Krug <Rainer@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	other threads:[~2013-12-10 15:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-10  8:44 Bash script to update - only make when update there? Rainer M Krug
2013-12-10 15:59 ` Nick Dokos [this message]
2013-12-10 18:35   ` Rainer M Krug
2013-12-10 19:31     ` Nick Dokos
2013-12-10 19:37       ` Rainer M Krug
2013-12-10 20:50         ` Samuel Wales
2013-12-12  9:00           ` Rainer M Krug
2013-12-13  0:26             ` Suvayu Ali
2013-12-13  8:40               ` Rainer M Krug
2013-12-10 17:00 ` Achim Gratz
2013-12-10 17:12   ` Achim Gratz
2013-12-10 18:36     ` Rainer M Krug

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eh5klmt0.fsf@alphaville.bos.redhat.com \
    --to=ndokos@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).