xref: /openbmc/qemu/scripts/git-submodule.sh (revision c39f95dc)
1#!/bin/sh
2#
3# This code is licensed under the GPL version 2 or later.  See
4# the COPYING file in the top-level directory.
5
6set -e
7
8substat=".git-submodule-status"
9
10command=$1
11shift
12modules="$@"
13
14if test -z "$modules"
15then
16    test -e $substat || touch $substat
17    exit 0
18fi
19
20if ! test -e ".git"
21then
22    echo "$0: unexpectedly called with submodules but no git checkout exists"
23    exit 1
24fi
25
26case "$command" in
27status)
28    test -f "$substat" || exit 1
29    trap "rm -f ${substat}.tmp" EXIT
30    git submodule status $modules > "${substat}.tmp"
31    diff "${substat}" "${substat}.tmp" >/dev/null
32    exit $?
33    ;;
34update)
35    git submodule update --init $modules 1>/dev/null
36    git submodule status $modules > "${substat}"
37    ;;
38esac
39