aboutsummaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
authorDavid Aguilar <davvid@gmail.com>2008-08-22 00:30:50 -0700
committerJunio C Hamano <gitster@pobox.com>2008-08-22 22:38:21 -0700
commita7b3269c4b9acde052d75b6dc54c8f869b77eb44 (patch)
tree4ab882a68296c0f4cd16ee0231662085e0825100 /git-submodule.sh
parent34ad1afa712da208f29d8300b73a6753516564fb (diff)
downloadgit-a7b3269c4b9acde052d75b6dc54c8f869b77eb44.tar.gz
git-a7b3269c4b9acde052d75b6dc54c8f869b77eb44.tar.xz
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>
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh17
1 files 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
@@ -54,6 +54,15 @@ resolve_relative_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
#
# $1 = path
@@ -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