• Show log

    Commit

  • Hash : 2acdf4b8
    Author : Carlos Martín Nieto
    Date : 2014-05-06T19:20:33

    pack: unpack using a loop
    
    We currently make use of recursive function calls to unpack an object,
    resolving the deltas as we come back down the chain. This means that we
    have unbounded stack growth as we look up objects in a pack.
    
    This is now done in two steps: first we figure out what the dependency
    chain is by looking up the delta bases until we reach a non-delta
    object, pushing the information we need onto a stack and then we pop
    from that stack and apply the deltas until there are no more left.
    
    This version of the code does not make use of the delta base cache so it
    is slower than what's in the mainline. A later commit will reintroduce
    it.