#
module_name()
{
- name=$(GIT_CONFIG=.gitmodules git config --get-regexp '^submodule\..*\.path$' "$1" |
- sed -nre 's/^submodule\.(.+)\.path .+$/\1/p')
+ # Do we have "submodule.<something>.path = $1" defined in .gitmodules file?
+ re=$(printf '%s' "$1" | sed -e 's/\([^a-zA-Z0-9_]\)/\\\1/g')
+ name=$( GIT_CONFIG=.gitmodules \
+ git config --get-regexp '^submodule\..*\.path$' |
+ sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' )
test -z "$name" &&
die "No submodule mapping found in .gitmodules for path '$path'"
echo "$name"
say "-$sha1 $path"
continue;
fi
- revname=$(unset GIT_DIR && cd "$path" && git describe --tags $sha1)
- set_name_rev "$path" $"sha1"
+ set_name_rev "$path" "$sha1"
if git diff-files --quiet -- "$path"
then
say " $sha1 $path$revname"
if test -z "$cached"
then
sha1=$(unset GIT_DIR && cd "$path" && git rev-parse --verify HEAD)
- set_name_rev "$path" $"sha1"
+ set_name_rev "$path" "$sha1"
fi
say "+$sha1 $path$revname"
fi
done
}
-while case "$#" in 0) break ;; esac
+while test $# != 0
do
case "$1" in
add)
,,1,,)
modules_update "$@"
;;
-,,,1,*)
+,,,*,*)
modules_list "$@"
;;
*)