Commits


fix pack checksum handling for sha256


zero also base_id in search_delta_for_object not sure why it's needed, it should be zeroed by got_pack_parse_ref_delta via got_packfile_extract_raw_delta, but it isn't.


fix fallout; mostly struct got_object_id zeroing


bump hash size and add algo field to got_object_id; fix a few places


handle repository format version 1 and objectformat extension


add field to got_packidx to propagate the hash algo allows to drop all the `algo' hardcodings in lib/pack.c and pack_idx.c


handle both sha1 and sha256 object ids in pack files bump got_packidx_object_id so it can hold a sha256 digest and adapt the code to read the needed type of hash.


add an hash algo field to got_pack - maybe useless


bubble up the algo argument


adjust GOT_PACKIDX_NAMELEN for sha256 packs


rename pack{file,idx}_sha1 to _hash


rename "sha1" field to "hash" done with X ,x/\.sha1/c/hash X ,x/->sha1/c/->hash in sam after loading all the C files; except for one manual tweak in hash.c


add got_repo_get_object_format() ...and use it to avoid hardcoding the algo in a few places.


inflate: support sha256


introduce more helpers to deal with different hash digests