sha1_object_info_extended(): expose a bit more info
authorJunio C Hamano <gitster@pobox.com>
Thu, 12 May 2011 22:51:38 +0000 (15:51 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 19 May 2011 21:22:47 +0000 (14:22 -0700)
commit9a4905902230c080f0f6a64ed7f0aaa5777d2f5b
treef0959edded8645f72edfffef53042d15cace90ee
parentb9a62cbeb91e52aea8fc427a84e72f475dfe60cf
sha1_object_info_extended(): expose a bit more info

The original interface for sha1_object_info() takes an object name and
gives back a type and its size (the latter is given only when it was
asked).  The new interface wraps its implementation and exposes a bit
more pieces of information that the interface used to discard, namely:

 - where the object is stored (loose? cached? packed?)
 - if packed, where in which packfile?

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---

 * In the earlier round, this used u.pack.delta to record the length of
   the delta chain, but the caller is not necessarily interested in the
   length of the delta chain per-se, but may only want to know if it is a
   delta against another object or is stored as a deflated data. Calling
   packed_object_info_detail() involves walking the reverse index chain to
   compute the store size of the object and is unnecessarily expensive.

   We could resurrect the code if a new caller wants to know, but I doubt
   it.
cache.h
sha1_file.c