mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
build: delay check for empty git submodule list
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>
This commit is contained in:
parent
37b5e74e28
commit
49ad3cfa67
1 changed files with 12 additions and 7 deletions
|
@ -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"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue