Commits


remove now unused sha1 handling from inflate and deflate both were changed to use the new got_hash APIs.


add some helper functions to compute hashes This adds a set of functions to abstract over SHA1Init, SHA1Update, SHA1Final, their respective SHA256 variants and how to compare digests. Replace all the SHA1*() usage with the new APIs. It's a preparatory step for sha256 handling. ok stsp@


make got_pack_create() write to a file descriptor instead of a stdio FILE The old code required a seekable output file. This conflicts with requirements of future gotd(8), which will write pack file data to network sockets. ok op@


store deltas in compressed form while packing, both in memory and cache file This reduces memory and disk space consumption during packing. with tweaks + memleak on error fix from op@ ok op@


compress delta data from delta_cache directly into pack file


map raw object files into memory while packing if possible


match the unsigned char type used by the zlib interface ok stsp


simplify deflate checksumming code; fixes errors with upcoming 'gotadmin pack' tweak + ok naddy


add checksum support to got_deflate_to_file() This will eventually be used by 'gotadmin pack'. Checksum init and finalization will need to be done by the caller since many objects will be written out in compressed form while we are computing checksums across the entire pack file. ok millert, naddy


add some initial code for zlib compression