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

[PATCH 2/2] submodule summary: do not fail before the first commit

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 3, 2010, 22:19 UTC
Message-ID
<1267654750-30911-2-git-send-email-gitster@pobox.com>
In-Reply-To
<1267654750-30911-1-git-send-email-gitster@pobox.com>

When "git status" collects changes for the index (usually relative to HEAD), it compares the index with an empty tree when the repository does not have an initial commit yet. "git submodule summary" is about asking what submodule changes would be recorded if a commit is made right now, and should do the same comparison to report all the added submodules, instead of punting and being silent.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 git-submodule.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-submodule.sh b/git-submodule.sh
index 383dc45..eab2549 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -559,7 +559,8 @@ cmd_summary() {
 		test $# = 0 || shift
 	elif test -z "$1" -o "$1" = "HEAD"
 	then
-		return
+		# before the first commit: compare with an empty tree
+		head=$(git hash-object -w -t tree --stdin </dev/null)
 	else
 		head="HEAD"
 	fi
-- 
1.7.0.1.290.g2d87e
Previous: Junio C HamanoNext: Johan Herland
Message 2 of 4 in “submodule summary: do not shift a non-existent positional variable”
  1. 1/2 submodule summary: do not shift a non-existent positional variableJunio C Hamano, Mar 3, 2010
  2. 2/2 submodule summary: do not fail before the first commitJunio C Hamano, Mar 3, 2010
  3. Johan HerlandMar 3, 2010
  4. Johan HerlandMar 3, 2010

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.