From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Bash script to update - only make when update there? Date: Tue, 10 Dec 2013 10:59:07 -0500 Message-ID: <87eh5klmt0.fsf@alphaville.bos.redhat.com> References: <52A6D452.3030908@krugs.de> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41051) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqPib-0007al-Ed for emacs-orgmode@gnu.org; Tue, 10 Dec 2013 10:59:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqPiV-0007o1-8r for emacs-orgmode@gnu.org; Tue, 10 Dec 2013 10:59:29 -0500 Received: from plane.gmane.org ([80.91.229.3]:43199) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqPiV-0007nx-2Z for emacs-orgmode@gnu.org; Tue, 10 Dec 2013 10:59:23 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VqPiS-0001mj-19 for emacs-orgmode@gnu.org; Tue, 10 Dec 2013 16:59:20 +0100 Received: from nat-pool-bos-t.redhat.com ([66.187.233.206]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 10 Dec 2013 16:59:20 +0100 Received: from ndokos by nat-pool-bos-t.redhat.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 10 Dec 2013 16:59:20 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Rainer M Krug 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