qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Eric Blake" <eblake@redhat.com>,
	"Alexey Kardashevskiy" <aik@ozlabs.ru>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Daniel P. Berrange" <berrange@redhat.com>
Subject: [Qemu-devel] [PATCH v3 5/5] build: delay check for empty git submodule list
Date: Fri,  3 Nov 2017 15:33:33 +0000	[thread overview]
Message-ID: <20171103153333.6416-6-berrange@redhat.com> (raw)
In-Reply-To: <20171103153333.6416-1-berrange@redhat.com>

We short circuit the git submodule update when passed an empty module list.
This accidentally causes the 'status' command to write to the status file. The
test needs to be delayed into the individual commands to avoid this premature
writing of the status file.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/git-submodule.sh | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/scripts/git-submodule.sh b/scripts/git-submodule.sh
index 2857fc57c4..90376a7dae 100755
--- a/scripts/git-submodule.sh
+++ b/scripts/git-submodule.sh
@@ -33,12 +33,6 @@ error() {
     exit 1
 }
 
-if test -z "$maybe_modules"
-then
-    test -e $substat || touch $substat
-    exit 0
-fi
-
 modules=""
 for m in $maybe_modules
 do
@@ -51,7 +45,7 @@ do
     fi
 done
 
-if ! test -e ".git"
+if test -n "$maybe_modules" && ! test -e ".git"
 then
     echo "$0: unexpectedly called with submodules but no git checkout exists"
     exit 1
@@ -59,6 +53,11 @@ fi
 
 case "$command" in
 status)
+    if test -z "$maybe_modules"
+    then
+         test -s ${substat} && exit 1 || exit 0
+    fi
+
     test -f "$substat" || exit 1
     CURSTATUS=`$GIT submodule status $modules`
     OLDSTATUS=`cat $substat`
@@ -66,6 +65,12 @@ status)
     exit $?
     ;;
 update)
+    if test -z "$maybe_modules"
+    then
+        test -e $substat || touch $substat
+        exit 0
+    fi
+
     $GIT submodule update --init $modules 1>/dev/null
     test $? -ne 0 && error "failed to update modules"
 
-- 
2.13.6

  parent reply	other threads:[~2017-11-03 15:33 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-03 15:33 [Qemu-devel] [PATCH v3 0/5] Various improvements/bugfixes to submodule handling Daniel P. Berrange
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 1/5] build: allow setting a custom GIT binary for transparent proxying Daniel P. Berrange
2017-11-03 18:27   ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 2/5] build: don't create temporary files in source dir Daniel P. Berrange
2017-11-03 18:28   ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 3/5] build: allow automatic git submodule updates to be disabled Daniel P. Berrange
2017-11-03 18:35   ` Eric Blake
2017-11-03 15:33 ` [Qemu-devel] [PATCH v3 4/5] build: don't fail if given a git submodule which does not exist Daniel P. Berrange
2017-11-03 18:36   ` Eric Blake
2017-11-03 15:33 ` Daniel P. Berrange [this message]
2017-11-03 18:37   ` [Qemu-devel] [PATCH v3 5/5] build: delay check for empty git submodule list Eric Blake
2017-11-07  4:12   ` Alexey Kardashevskiy
2017-11-07  5:13     ` Alexey Kardashevskiy
2017-11-07 10:12       ` Daniel P. Berrange
2017-11-07 22:58         ` Alexey Kardashevskiy
2017-11-08  9:02           ` Daniel P. Berrange
2017-11-08  1:43         ` Alexey Kardashevskiy
2017-11-08  8:28         ` Alexey Kardashevskiy
2017-11-08  9:01           ` Daniel P. Berrange
2017-11-03 18:03 ` [Qemu-devel] [PATCH v3 0/5] Various improvements/bugfixes to submodule handling Peter Maydell
2017-11-06 10:44   ` Daniel P. Berrange
2017-11-06 14:30     ` Daniel P. Berrange
2017-11-07  2:04       ` Alexey Kardashevskiy
2017-11-03 19:38 ` Philippe Mathieu-Daudé
2017-11-06  0:22 ` Alexey Kardashevskiy
2017-11-06  4:44   ` Alexey Kardashevskiy

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

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

  git send-email \
    --in-reply-to=20171103153333.6416-6-berrange@redhat.com \
    --to=berrange@redhat.com \
    --cc=aik@ozlabs.ru \
    --cc=eblake@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.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.
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 NNTP newsgroup(s).