mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
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:
parent
34ad1afa71
commit
a7b3269c4b
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user