* [PATCH] ls-tree: show size of trees with -l
@ 2010-08-13 20:20 Nguyễn Thái Ngọc Duy
2010-08-14 14:40 ` Jakub Narebski
0 siblings, 1 reply; 2+ messages in thread
From: Nguyễn Thái Ngọc Duy @ 2010-08-13 20:20 UTC (permalink / raw)
To: Jakub Narebski, Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ls-tree: show size of trees with -l
2010-08-13 20:20 [PATCH] ls-tree: show size of trees with -l Nguyễn Thái Ngọc Duy
@ 2010-08-14 14:40 ` Jakub Narebski
0 siblings, 0 replies; 2+ messages in thread
From: Jakub Narebski @ 2010-08-14 14:40 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: Junio C Hamano, git
On Fri, 13 Apr 2010, Nguyễn Thái Ngọc Duy wrote:
> 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 wrote that?
>
> 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>
> ---
Actually "git ls-tree -l <tree-ish>" doesn't show size of tree objects
because packv4 was to be ready soon, and in packv4 trees would be stored
decomposed, so getting size of tree object (e.g. using git-cat-file) is
would be costly because git would have to re-generate tree object just
to get its size (if it is in packfile).
But we don't have packv4 yet, even though it is 3 years since a5bbda8.
It looks like packv4 development moves with the speed of Perl 6
development. But if Rakudo * (Perl 6 implementation) could have get
released (even if it is developers release), then there is hope for
packv4 yet... I hope...
--
Jakub Narebski
Poland
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-08-14 14:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-13 20:20 [PATCH] ls-tree: show size of trees with -l Nguyễn Thái Ngọc Duy
2010-08-14 14:40 ` Jakub Narebski
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).