From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
"Daniel P. Berrange" <berrange@redhat.com>
Subject: [Qemu-devel] [PULL v1 5/6] build: delay check for empty git submodule list
Date: Tue, 7 Nov 2017 10:16:41 +0000 [thread overview]
Message-ID: <20171107101642.28016-6-berrange@redhat.com> (raw)
In-Reply-To: <20171107101642.28016-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.
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
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 3683bc9a04..030617b4ac 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
next prev parent reply other threads:[~2017-11-07 10:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-07 10:16 [Qemu-devel] [PULL v1 0/6] Merge build 2017/11/07 Daniel P. Berrange
2017-11-07 10:16 ` [Qemu-devel] [PULL v1 1/6] build: allow setting a custom GIT binary for transparent proxying Daniel P. Berrange
2017-11-07 10:16 ` [Qemu-devel] [PULL v1 2/6] build: don't create temporary files in source dir Daniel P. Berrange
2017-11-07 10:16 ` [Qemu-devel] [PULL v1 3/6] build: allow automatic git submodule updates to be disabled Daniel P. Berrange
2017-11-07 10:16 ` [Qemu-devel] [PULL v1 4/6] build: don't fail if given a git submodule which does not exist Daniel P. Berrange
2017-11-07 10:16 ` Daniel P. Berrange [this message]
2017-11-07 10:16 ` [Qemu-devel] [PULL v1 6/6] build: remove use of MAKELEVEL optimization in submodule handling Daniel P. Berrange
2017-11-07 12:19 ` [Qemu-devel] [PULL v1 0/6] Merge build 2017/11/07 Peter Maydell
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=20171107101642.28016-6-berrange@redhat.com \
--to=berrange@redhat.com \
--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).