• Show log

    Commit

  • Hash : 44f9f547
    Author : David Michael Barr
    Date : 2012-11-30T13:33:30

    pack: add git_packfile_resolve_header
    
    To paraphrase @peff:
    
    You can get both size and type from a packed object reasonably cheaply.
    If you have:
    
    * An object that is not a delta; both type and size are available in the
      packfile header.
    * An object that is a delta. The packfile type will be OBJ_*_DELTA, and
      you have to resolve back to the base to find the real type. That means
      potentially a lot of packfile index lookups, but each one is
      relatively cheap. For the size, you inflate the first few bytes of the
      delta, whose header will tell you the resulting size of applying the
      delta to the base.
    
    For simplicity, we just decompress the whole delta for now.