summaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh28
1 files changed, 12 insertions, 16 deletions
diff --git a/git-submodule.sh b/git-submodule.sh
index 83917d8055..66f5f752c5 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -1042,13 +1042,20 @@ cmd_summary() {
# Get modified modules cared by user
modules=$(git $diff_cmd $cached --ignore-submodules=dirty --raw $head -- "$@" |
sane_egrep '^:([0-7]* )?160000' |
- while read mod_src mod_dst sha1_src sha1_dst status name
+ while read mod_src mod_dst sha1_src sha1_dst status sm_path
do
# Always show modules deleted or type-changed (blob<->module)
- test $status = D -o $status = T && echo "$name" && continue
+ test $status = D -o $status = T && echo "$sm_path" && continue
+ # Respect the ignore setting for --for-status.
+ if test -n "$for_status"
+ then
+ name=$(module_name "$sm_path")
+ ignore_config=$(get_submodule_config "$name" ignore none)
+ test $status != A -a $ignore_config = all && continue
+ fi
# Also show added or modified modules which are checked out
- GIT_DIR="$name/.git" git-rev-parse --git-dir >/dev/null 2>&1 &&
- echo "$name"
+ GIT_DIR="$sm_path/.git" git-rev-parse --git-dir >/dev/null 2>&1 &&
+ echo "$sm_path"
done
)
@@ -1159,18 +1166,7 @@ cmd_summary() {
echo
fi
echo
- done |
- if test -n "$for_status"; then
- if [ -n "$files" ]; then
- gettextln "Submodules changed but not updated:" | git stripspace -c
- else
- gettextln "Submodule changes to be committed:" | git stripspace -c
- fi
- printf "\n" | git stripspace -c
- git stripspace -c
- else
- cat
- fi
+ done
}
#
# List all submodules, prefixed with: