git-submodule summary: --for-status option
The --for-status option is mainly used by builtin-status/commit. It adds 'Modified submodules:' line at top and '# ' prefix to all following lines. Signed-off-by: Ping Yin <pkufranky@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f43e2fd43b
commit
d0f64dd44d
@ -342,6 +342,7 @@ set_name_rev () {
|
||||
#
|
||||
cmd_summary() {
|
||||
summary_limit=-1
|
||||
for_status=
|
||||
|
||||
# parse $args after "submodule ... summary".
|
||||
while test $# -ne 0
|
||||
@ -350,6 +351,9 @@ cmd_summary() {
|
||||
--cached)
|
||||
cached="$1"
|
||||
;;
|
||||
--for-status)
|
||||
for_status="$1"
|
||||
;;
|
||||
-n|--summary-limit)
|
||||
if summary_limit=$(($2 + 0)) 2>/dev/null && test "$summary_limit" = "$2"
|
||||
then
|
||||
@ -397,7 +401,8 @@ cmd_summary() {
|
||||
done
|
||||
)
|
||||
|
||||
test -n "$modules" &&
|
||||
test -z "$modules" && return
|
||||
|
||||
git diff-index $cached --raw $head -- $modules |
|
||||
grep -e '^:160000' -e '^:[0-7]* 160000' |
|
||||
cut -c2- |
|
||||
@ -499,7 +504,14 @@ cmd_summary() {
|
||||
echo
|
||||
fi
|
||||
echo
|
||||
done
|
||||
done |
|
||||
if test -n "$for_status"; then
|
||||
echo "# Modified submodules:"
|
||||
echo "#"
|
||||
sed -e 's|^|# |' -e 's|^# $|#|'
|
||||
else
|
||||
cat
|
||||
fi
|
||||
}
|
||||
#
|
||||
# List all submodules, prefixed with:
|
||||
|
@ -192,4 +192,17 @@ test_expect_success 'given commit' "
|
||||
EOF
|
||||
"
|
||||
|
||||
test_expect_success '--for-status' "
|
||||
git submodule summary --for-status HEAD^ >actual &&
|
||||
test_cmp actual - <<EOF
|
||||
# Modified submodules:
|
||||
#
|
||||
# * sm1 $head6...0000000:
|
||||
#
|
||||
# * sm2 0000000...$head7 (2):
|
||||
# > Add foo9
|
||||
#
|
||||
EOF
|
||||
"
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user