git-submodule: replace duplicated code with a module_list function

Several call sites in git-submodule.sh used the same idiom for getting
submodule information:

	git ls-files --stage -- "$@" | grep '^160000 '

This patch removes this duplication by introducing a module_list function.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
David Aguilar 2008-08-22 00:30:50 -07:00 committed by Junio C Hamano
parent 34ad1afa71
commit a7b3269c4b

View File

@ -53,6 +53,15 @@ resolve_relative_url ()
echo "$remoteurl/$url" echo "$remoteurl/$url"
} }
#
# Get submodule info for registered submodules
# $@ = path to limit submodule list
#
module_list()
{
git ls-files --stage -- "$@" | grep '^160000 '
}
# #
# Map submodule path to submodule name # Map submodule path to submodule name
# #
@ -206,7 +215,7 @@ cmd_add()
# #
cmd_foreach() cmd_foreach()
{ {
git ls-files --stage | grep '^160000 ' | module_list |
while read mode sha1 stage path while read mode sha1 stage path
do do
if test -e "$path"/.git if test -e "$path"/.git
@ -246,7 +255,7 @@ cmd_init()
shift shift
done done
git ls-files --stage -- "$@" | grep '^160000 ' | module_list "$@" |
while read mode sha1 stage path while read mode sha1 stage path
do do
# Skip already registered paths # Skip already registered paths
@ -304,7 +313,7 @@ cmd_update()
esac esac
done done
git ls-files --stage -- "$@" | grep '^160000 ' | module_list "$@" |
while read mode sha1 stage path while read mode sha1 stage path
do do
name=$(module_name "$path") || exit name=$(module_name "$path") || exit
@ -569,7 +578,7 @@ cmd_status()
shift shift
done done
git ls-files --stage -- "$@" | grep '^160000 ' | module_list "$@" |
while read mode sha1 stage path while read mode sha1 stage path
do do
name=$(module_name "$path") || exit name=$(module_name "$path") || exit