I’m storing first all the undeltified objects and then proceeding to the deltified ones.
The problem is that sometimes the hash requested in a deltified object is not available. It seems the way I’m storing them is generating a different hash than expected.
After more experimentation I can see clearly in the Pack I receive there are missing objects. However, I parse correctly the number of advertised objects.
Why would the git server send me an incomplete pack?
Ok if someone encounters the same error I solved it.
The deltified objects are in order. Some deltified objects use as base the result of a previous deltified object. Thus, if you mess up in the creation of a deltified object, you are going to have trouble.
In my case, I was storing the source buffer instead of the deltified one, so the fix was easy in the end!
Note: I’ve updated the title of this post to include the stage ID (#MG6). You can learn about the stages rename here: Upcoming change: Stages overhaul.