aboutsummaryrefslogtreecommitdiff
path: root/unpack-objects.c
Commit message (Collapse)AuthorAge
* Make git pack files use little-endian size encodingLinus Torvalds2005-06-28
| | | | | | | | | This makes it match the new delta encoding, and admittedly makes the code easier to follow. This also updates the PACK file version to 2, since this (and the delta encoding change in the previous commit) are incompatible with the old format.
* git-unpack-objects: re-write to read from stdinLinus Torvalds2005-06-28
| | | | | | It gets a bit more complicated to unpack in a streaming environment, but here it is. The rewrite is actually a lot cleaner in other ways, it's just a bit more subtle.
* [PATCH] Fix unpack-objects for header length information.Junio C Hamano2005-06-28
| | | | | | | | Standalone unpack-objects command was not adjusted for header length encoding change when dealing with deltified entry. This fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Change pack file format. Hopefully for the last time.Linus Torvalds2005-06-28
| | | | | | This also adds a header with a signature, version info, and the number of objects to the pack file. It also encodes the file length and type more efficiently.
* Teach packing about "tag" objectsLinus Torvalds2005-06-28
| | | | | (And teach sha1_file and unpack-object know how to unpack them too, of course)
* csum-file interface updates: return resulting SHA1Linus Torvalds2005-06-26
| | | | | | | | | | | Also, make the writing of the SHA1 as a end-header be conditional: not every user will necessarily want to write the SHA1 to the file itself, even though current users do (but we migh end up using the same helper functions for the object files themselves, that don't do this). This also makes the packed index file contain the SHA1 of the packed data file at the end (just before its own SHA1). That way you can validate the pairing of the two if you want to.
* git-pack-objects: write the pack files with a SHA1 csumLinus Torvalds2005-06-26
| | | | | | | | | | We want to be able to check their integrity later, and putting the sha1-sum of the contents at the end is a good thing. The writing routines are generic, so we could try to re-use them for the index file, instead of having the same logic duplicated. Update unpack-objects to know about the extra 20 bytes at the end of the index.
* git-unpack-objects: start removing debug outputLinus Torvalds2005-06-26
| | | | At least the least interesting one.
* Fix object packing/unpacking.Linus Torvalds2005-06-26
| | | | | | | This actually successfully packed and unpacked a git archive down to 1.3MB (17MB unpacked). Right now unpacking is way too noisy, lots of debug messages left.
* [PATCH] Finish initial cut of git-pack-object/git-unpack-object pair.Junio C Hamano2005-06-26
| | | | | | | | | | | | | | | | | This finishes the initial round of git-pack-object / git-unpack-object pair. They are now good enough to be used as a transport medium: - Fix delta direction in pack-objects; the original was computing delta to create the base object from the object to be squashed, which was quite unfriendly for unpacker ;-). - Add a script to test the very basics. - Implement unpacker for both regular and deltified objects. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* git-unpack-objects: start parsing the actual packed dataLinus Torvalds2005-06-25
| | | | So far we just print out the type and size.
* First cut at git-unpack-objectsLinus Torvalds2005-06-25
So far it just reads the header and generates the list of objects. It also sorts them by the order they are written in the pack file, since that ends up being the same order we got them originally, and is thus "most recent first".