Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

Re: [PATCH] Add an option to git-ls-tree to display also the size of object

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:10

Junio C Hamano [off-list ref] wrote:
Jakub Narebski [off-list ref] writes:
quoted
Add -l/--long/--size option to git-ls-tree command, which displays
object size of an entry after object id (left-justified with minimum
width of 7 characters).
  Also I suspect that having to show the size of a tree object,
  expressed in terms of the canonical representation, might
  force packv4 aware ls-tree to convert its traversal efficient
  representation to the canonical one only to get its size.
Yes, you are right Junio.  In pack v4 we don't know the size of
the canonical representation.  We compute it on the fly when its
needed by summing up the lengths of the names of each element in
the tree, so it requires us to expand the delta chain and is thus
O(delta_depth * entry_count) or something like that.

I didn't see this as a huge problem, as the only in-tree caller at
the time that needed the size and did not also want the canonical
representation was the -s flag to cat-file.

So I'm kind of against adding something that would want to print
that canonical representation for every subtree in a parent tree,
as it would make either pack v4 less efficient for that operation
or force it to store the canonical size, for no other good reason.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help