commit a48db7e5b54035d334c4b165479796da22ca7ed3 from: Stefan Sperling date: Tue Jan 23 16:49:03 2018 UTC add support for opening ref delta objects commit - 6b9c9673311337ae4418be92fc67514ab7cce148 commit + a48db7e5b54035d334c4b165479796da22ca7ed3 blob - d14e570c6264302745f332a4cc1670e6dd244e6f blob + dde87f702b68c390ab7ee893c4a31c8002249ee4 --- lib/pack.c +++ lib/pack.c @@ -652,10 +652,10 @@ resolve_delta_chain(struct got_delta_chain *deltas, st } static const struct got_error * -open_offset_delta_object(struct got_object **obj, - struct got_repository *repo, struct got_packidx_v2_hdr *packidx, - const char *path_packfile, FILE *packfile, struct got_object_id *id, - off_t offset, size_t tslen, size_t delta_size) +open_delta_object(struct got_object **obj, struct got_repository *repo, + struct got_packidx_v2_hdr *packidx, const char *path_packfile, + FILE *packfile, struct got_object_id *id, off_t offset, size_t tslen, + int delta_type, size_t delta_size) { const struct got_error *err = NULL; struct got_object_id base_id; @@ -685,7 +685,7 @@ open_offset_delta_object(struct got_object **obj, (*obj)->flags |= GOT_OBJ_FLAG_DELTIFIED; err = resolve_delta_chain(&(*obj)->deltas, repo, packfile, - path_packfile, GOT_OBJ_TYPE_OFFSET_DELTA, offset, delta_size); + path_packfile, delta_type, offset, delta_size); if (err) goto done; @@ -752,11 +752,11 @@ open_packed_object(struct got_object **obj, struct got break; case GOT_OBJ_TYPE_OFFSET_DELTA: - err = open_offset_delta_object(obj, repo, packidx, - path_packfile, packfile, id, offset, tslen, size); + case GOT_OBJ_TYPE_REF_DELTA: + err = open_delta_object(obj, repo, packidx, path_packfile, + packfile, id, offset, tslen, type, size); break; - case GOT_OBJ_TYPE_REF_DELTA: case GOT_OBJ_TYPE_TAG: default: err = got_error(GOT_ERR_NOT_IMPL);