You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
672 B
Bash
31 lines
672 B
Bash
13 years ago
|
#!/bin/bash
|
||
|
|
||
|
if [ -z "$*" ]; then
|
||
|
exit 0
|
||
|
fi
|
||
|
set -o pipefail
|
||
|
dir="$1"
|
||
|
solution="${1%%/*}"
|
||
|
cd "$solution"
|
||
|
if [ "$solution" = "$1" ]; then
|
||
|
shift
|
||
|
$@ | sed "s/^/[$solution] /g" 1>&2
|
||
|
if [ $? -ne 0 ]; then
|
||
|
exit $?
|
||
|
fi
|
||
|
"$GIT_EXE" submodule --quiet sync
|
||
|
"$GIT_EXE" ls-files -s | grep ^160000 | awk '{print $4}' |
|
||
|
sed "s/^/$solution\//g"
|
||
|
status=$?
|
||
|
else
|
||
|
submodule="${1#*/}"
|
||
|
echo "[$solution] updating $submodule ..."
|
||
|
"$GIT_EXE" submodule update --quiet --init "$submodule" |
|
||
|
( grep -v '^Skipping submodule' || true ) | sed "s|^|[$1] |g"
|
||
|
status=$?
|
||
|
if [ "$status" -ne "0" ]; then
|
||
|
echo "[$solution] FAILED to update $submodule"
|
||
|
fi
|
||
|
fi
|
||
|
exit $status
|