From a7b3269c4b9acde052d75b6dc54c8f869b77eb44 Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Fri, 22 Aug 2008 00:30:50 -0700 Subject: [PATCH] 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 --- git-submodule.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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 -- 2.30.2