From: David Aguilar Date: Fri, 22 Aug 2008 07:30:50 +0000 (-0700) Subject: git-submodule: replace duplicated code with a module_list function X-Git-Tag: v1.6.1-rc1~311 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a7b3269c4b9acde052d75b6dc54c8f869b77eb44;p=git.git 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 Signed-off-by: Junio C Hamano --- diff --git a/git-submodule.sh b/git-submodule.sh index 2d57d6045..2a3a197d1 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -53,6 +53,15 @@ resolve_relative_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 # @@ -206,7 +215,7 @@ cmd_add() # cmd_foreach() { - git ls-files --stage | grep '^160000 ' | + module_list | while read mode sha1 stage path do if test -e "$path"/.git @@ -246,7 +255,7 @@ cmd_init() shift done - git ls-files --stage -- "$@" | grep '^160000 ' | + module_list "$@" | while read mode sha1 stage path do # Skip already registered paths @@ -304,7 +313,7 @@ cmd_update() esac done - git ls-files --stage -- "$@" | grep '^160000 ' | + module_list "$@" | while read mode sha1 stage path do name=$(module_name "$path") || exit @@ -569,7 +578,7 @@ cmd_status() shift done - git ls-files --stage -- "$@" | grep '^160000 ' | + module_list "$@" | while read mode sha1 stage path do name=$(module_name "$path") || exit