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

[PATCH] ls-tree: show size of trees with -l

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Aug 13, 2010, 20:20 UTC
Message-ID
<1281730823-10797-1-git-send-email-pclouds@gmail.com>

In commit a5bbda8 (Add an option to git-ls-tree to display also the size of blob), Jakub said that size of non-blob entries had no meaning therefore dashes were printed instead.

I would say tree size, along with blob size, helps estimate bandwidth needed to transfer a single commit, for example. Of course it's not completely accurate as all objects will be compressed. But it gives a rough figure to compare.

Pack v4 has not come yet (and it's been three years, I truely hope it will come next year). When it comes, I will gladly send a revert patch of this one if it proves too expensive to compute tree size.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 By the way, dashes will still be printed for subprojects, I guess.
 Documentation/git-ls-tree.txt |    2 +-
 builtin/ls-tree.c             |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt
index 1f89d36..9e02905 100644
--- a/Documentation/git-ls-tree.txt
+++ b/Documentation/git-ls-tree.txt
@@ -50,7 +50,7 @@ OPTIONS
 
 -l::
 --long::
-	Show object size of blob (file) entries.
+	Show object size of entries.
 
 -z::
 	\0 line termination on output.
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c
index dc86b0d..7df87ec 100644
--- a/builtin/ls-tree.c
+++ b/builtin/ls-tree.c
@@ -93,7 +93,7 @@ static int show_tree(const unsigned char *sha1, const char *base, int baselen,
 	if (!(ls_options & LS_NAME_ONLY)) {
 		if (ls_options & LS_SHOW_SIZE) {
 			char size_text[24];
-			if (!strcmp(type, blob_type)) {
+			if (!strcmp(type, blob_type) || !strcmp(type, tree_type)) {
 				unsigned long size;
 				if (sha1_object_info(sha1, &size) == OBJ_BAD)
 					strcpy(size_text, "BAD");
-- 
1.7.1.rc1.69.g24c2f7
Next: Jakub Narebski
Message 1 of 2 in “ls-tree: show size of trees with -l”
  1. ls-tree: show size of trees with -lNguyễn Thái Ngọc Duy, Aug 13, 2010
  2. Jakub NarebskiAug 14, 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.