When git inflates thinpacks with --thinpack, it does so by smushing all the missing references as new objects at the end of the file. Since we haven't gotten to the end of the file yet when indexing, dgit gets confused and thinks it doesn't have the object to resolve the delta against.
It seems like this would be as simple as using c.GetObject to get the object, but for some reason in the middle of index-pack dgit can't find the object that it's deltaing against (even though dgit cat-file -p $sha1 does find it), so it needs some investigation.
When git inflates thinpacks with --thinpack, it does so by smushing all the missing references as new objects at the end of the file. Since we haven't gotten to the end of the file yet when indexing, dgit gets confused and thinks it doesn't have the object to resolve the delta against.
It seems like this would be as simple as using
c.GetObject
to get the object, but for some reason in the middle of index-pack dgit can't find the object that it's deltaing against (even thoughdgit cat-file -p $sha1
does find it), so it needs some investigation.