Re: [PATCH] Handle deltified object correctly in git-*-pull family.
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Jun 2, 2005, 17:03 UTC
- Message-ID
- <Pine.LNX.4.58.0506020959250.1876@ppc970.osdl.org>
- In-Reply-To
- <7v4qcg906f.fsf_-_@assigned-by-dhcp.cox.net>
On Thu, 2 Jun 2005, Junio C Hamano wrote:
> > *** Linus, this uses the new helper you wrote. The interface is > *** much more pleasant to use.
Can you update it for the fact that I split things up even more?
In particular, see commit 5180cacc202bb20b15981469487eb8d6b0509997: "Split up unpack_sha1_file() some more".
You should be able to unpack a delta with just something like this:
int ret; z_stream stream; char hdr[100], type[10]; unsigned long size;
ret = unpack_sha1_header(&stream, map, mapsize, hdr, sizeof(hdr));
if (ret < Z_OK)
return NULL;
if (parse_sha1_header(hdr, type, &size) < 0)
return NULL;
if (strcmp("delta", type))
return NULL;
buffer = unpack_sha1_rest(&stream, hdr, size);
if (!buffer)
return NULL;
.. we now have the delta of size "size" in "buffer" ..ie it now has proper helper functions for every single stage in unpacking an object.
Linus