title: Git: the meaning of object 'size' returned by git verify-pack
body: <p>The <a href="http://git-scm.com/docs/git-verify-pack" rel="nofollow">git verify-pack</a> command has a <code>-v</code> option which outputs a lot of diagnostic information for each object found in the packfile. However, the value returned by the <code>size</code> field for a deltified object is not matching my hazy expectations - I thought that it would be something like the uncompressed 'true' size of the Git object? What's the actual meaning of this field?</p>
  
  <p>Specifically, I have a Git packfile which contains a large object:</p>
  
  <pre><code>$ git cat-file -s 7daa9e75f86aa168748aef6c16c76b2acee1acca
  61464170
  </code></pre>
  
  <p><em>(ie the object size is about 58MB, which is indeed what I see when I check the file out)</em></p>
  
  <p>However, the line returned for this object by <code>git verify-pack -v</code> is this:</p>
  
  <pre><code>7daa9e75f86aa168748aef6c16c76b2acee1acca blob   568352 529608 770759074 1 27e47895a3822906eb31b05fe674ad470296c12e
  </code></pre>
  
  <p><em>(a full copy of the verify-pack output is available <a href="https://gist.github.com/rtyley/6138921/raw/7de67ceeb6acef43a92acf26ed43d88d146beb80/verify-pack.txt" rel="nofollow">here</a>)</em></p>
  
  <p>As you can see (after reading <a href="http://git-scm.com/docs/git-verify-pack#_output_format" rel="nofollow">the documentation</a> for <code>git verify-pack</code>), this object is stored <em>deltafied</em>, and the definition of the columns is this:</p>
  
  <pre><code>SHA1 type size size-in-packfile offset-in-packfile depth base-SHA1
  </code></pre>
  
  <p>So 'size' for this object is <strong>568352</strong> (and 'size-in-packfile' is 529608) - but what does that mean, given that the actual object size is <strong>61464170</strong> bytes? The magnitude-order difference in size must mean that the size figure refers just to the delta?</p>