Skip to content

Commit

Permalink
git-submodule summary: --for-status option
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ping Yin authored and Junio C Hamano committed Apr 13, 2008
1 parent f43e2fd commit d0f64dd
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
16 changes: 14 additions & 2 deletions git-submodule.sh
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ set_name_rev () {
#
cmd_summary() {
summary_limit=-1
for_status=

# parse $args after "submodule ... summary".
while test $# -ne 0
Expand All @@ -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
Expand Down Expand Up @@ -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- |
Expand Down Expand Up @@ -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:
Expand Down
13 changes: 13 additions & 0 deletions t/t7401-submodule-summary.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit d0f64dd

Please sign in to comment.