Skip to content

Commit

Permalink
git-submodule: replace duplicated code with a module_list function
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David Aguilar authored and Junio C Hamano committed Aug 23, 2008
1 parent 34ad1af commit a7b3269
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions git-submodule.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit a7b3269

Please sign in to comment.