On Thu, Feb 14, 2008 at 05:51:29PM -0600, Brian Downing wrote: > Do you by chance have repack.usedeltabaseoffset turned on? That has the > unfortunate side effect of changing the output of verify-pack -v to be > almost useless for my packinfo script (specifically, it no longer > reports the parent SHA1 hash for deltas, and the script is basically all > about deltra tree statistics.) I suppose that should probably be fixed, > but I never looked into it. That being said, the most useful output for figuring out where all the space in the pack is going in my experience is gotten from: git-verify-pack -v | packinfo.pl -tree -filenames That will produce a huge amount of output, which is basically the tree structure of the delta chains in the file. If things aren't being deltified together properly, it's usually pretty obvious. A delta chain in this output looks approximately like this: # 0 blob 03156f21... 1767 1767 Documentation/git-lost-found.txt @ tags/v1.2.0~142 # 1 blob f52a9d7f... 10 1777 Documentation/git-lost-found.txt @ tags/v1.5.0-rc1~74 # 2 blob a8cc5739... 51 1828 Documentation/git-lost+found.txt @ tags/v0.99.9h^0 # 3 blob 660e90b1... 15 1843 Documentation/git-lost+found.txt @ master~3222^2~2 # 4 blob 0cb8e3bb... 33 1876 Documentation/git-lost+found.txt @ master~3222^2~3 # 2 blob e48607f0... 311 2088 Documentation/git-lost-found.txt @ tags/v1.5.2-rc3~4 # size: count 6 total 2187 min 10 max 1767 mean 364.50 median 51 std_dev 635.85 # path size: count 6 total 11179 min 1767 max 2088 mean 1863.17 median 1843 std_dev 107.26 # The first number after the sha1 is the object size, the second # number is the path size. The statistics are across all objects in # the previous delta tree. Obviously they are omitted for trees of # one object. # A path size is the sum of the size of the delta chain, including the # base object. In other words, it's how many bytes need be read to # reassemble the file from deltas. This is also quite slow, as it runs git-ls-tree -t -r on every commit in the repository to assign file names to blobs. You can leave out the -filenames option to not do this (if you don't care about seeing filenames, that is). -bcd - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html