summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinclude/git.sh21
1 files changed, 7 insertions, 14 deletions
diff --git a/include/git.sh b/include/git.sh
index 4d2e9c07..c723fec0 100755
--- a/include/git.sh
+++ b/include/git.sh
@@ -117,7 +117,6 @@ prep_submodules()
while read -r msrcdir; do
fetch_submodule "$msrcdir"
- patch_submodule "$msrcdir"
done < "$tmpdir/modules"
}
@@ -129,22 +128,16 @@ fetch_submodule()
[ ! -f "$mcfgdir/module.cfg" ] || . "$mcfgdir/module.cfg" || \
$err "! . $mcfgdir/module.cfg"
- [ -n "$subrepo" ] || [ -n "$subrepo_bkup" ] || return 0
- [ -n "$subrev" ] || $err "$1, $mdir: subrev not defined"
+ [ -z "$subrepo" ] && [ -z "$subrepo_bkup" ] && return 0
- rm -Rf "$tmpgit/$1" || $err "!rm '$mdir' '$1'"
- for mod in "$subrepo" "$subrepo_bkup"; do
- [ -z "$mod" ] && continue
- git clone "$mod" "$tmpgit/$1" || rm -Rf "$tmpgit/$1" \
- || $err "!rm $mod $project $cfgdir $1"
- [ -d "$tmpgit/$1" ] && break
+ for mvar in subrepo subrepo_bkup subrev; do
+ eval "[ -n \"\$$mvar\" ] || $err \"$1, $mdir: $mvar unset\""
done
- [ -d "$tmpgit/$1" ] || $err "!clone $mod $project $mcfgdir $1"
-}
-patch_submodule()
-{
- [ -z "$subrev" ] || git -C "$tmpgit/$1" reset --hard "$subrev" || \
+ rm -Rf "$tmpgit/$1" || $err "!rm '$mdir' '$1'"
+ git clone $subrepo "$tmpgit/$1" || git clone $subrepo_bkup \
+ "$tmpgit/$1" || $err "clone_project: could not download $project"
+ git -C "$tmpgit/$1" reset --hard "$subrev" || \
$err "$mdir $1: cannot reset git revision"
git_am_patches "$tmpgit/$1" "$mdir/${1##*/}/patches"