git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 1/4] git-submodule summary: --for-status option

From
Ping Yin <pkufranky@gmail.com>
Date
Mar 13, 2008, 13:48 UTC
Message-ID
<1205416085-23431-2-git-send-email-pkufranky@gmail.com>
In-Reply-To
<1205416085-23431-1-git-send-email-pkufranky@gmail.com>

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>
---
 git-submodule.sh             |   17 ++++++++++++++++-
 t/t7401-submodule-summary.sh |   13 +++++++++++++
 2 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/git-submodule.sh b/git-submodule.sh
index 5f1d5ef..4baafba 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -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
@@ -398,6 +402,12 @@ cmd_summary() {
 	)
 
 	test -n "$modules" &&
+	if test -n "$for_status"; then
+		echo "# Modified submodules:"
+		echo "#"
+	else
+		true
+	fi &&
 	git diff-index $cached --raw $head -- $modules |
 	grep -e '^:160000' -e '^:[0-7]* 160000' |
 	cut -c2- |
@@ -499,7 +509,12 @@ cmd_summary() {
 			echo
 		fi
 		echo
-	done
+	done |
+	if test -n "$for_status"; then
+		sed -e "s|^|# |" -e 's|^# $|#|'
+	else
+		cat
+	fi
 }
 #
 # List all submodules, prefixed with:
diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh
index 0f3c42a..1dbb39d 100755
--- a/t/t7401-submodule-summary.sh
+++ b/t/t7401-submodule-summary.sh
@@ -192,4 +192,17 @@ test_expect_success 'given commit' "
 EOF
 "
 
+test_expect_success '--for-status' "
+    git submodule summary --for-status HEAD^ >actual &&
+    diff actual - <<-EOF
+# Modified submodules:
+#
+# * sm1 $head6...0000000:
+#
+# * sm2 0000000...$head7 (2):
+#   > Add foo9
+#
+EOF
+"
+
 test_done
-- 
1.5.4.3.347.g5314c
Previous: Ping YinNext: Ping Yin
Message 2 of 15 in “builtin-status submodule summary”
  1. Ping YinMar 13, 2008
  2. 1/4 git-submodule summary: --for-status optionPing Yin, Mar 13, 2008
  3. 2/4 builtin-status: submodule summary supportPing Yin, Mar 13, 2008
  4. 3/4 builtin-status: configurable submodule summary sizePing Yin, Mar 13, 2008
  5. 4/4 buitin-status: Add tests for submodule summaryPing Yin, Mar 13, 2008
  6. Johannes SixtMar 13, 2008
  7. Junio C HamanoMar 13, 2008
  8. Ping YinMar 13, 2008
  9. Ping YinMar 13, 2008
  10. Johannes SixtMar 13, 2008
  11. Johannes SixtMar 13, 2008
  12. Ping YinMar 13, 2008
  13. Ping YinMar 14, 2008
  14. Junio C HamanoMar 14, 2008
  15. Ping YinMar 14, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.