diff options
Diffstat (limited to 'third_party/git/packfile.h')
-rw-r--r-- | third_party/git/packfile.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/third_party/git/packfile.h b/third_party/git/packfile.h index 240aa73b95a6..3e98910bdd19 100644 --- a/third_party/git/packfile.h +++ b/third_party/git/packfile.h @@ -100,7 +100,7 @@ struct packed_git *add_packed_git(const char *path, size_t path_len, int local); * Does not unlink if 'force_delete' is false and the pack-file is * marked as ".keep". */ -void unlink_pack_path(const char *pack_name, int force_delete); +extern void unlink_pack_path(const char *pack_name, int force_delete); /* * Make sure that a pointer access into an mmap'd index file is within bounds, @@ -121,11 +121,18 @@ void check_pack_index_ptr(const struct packed_git *p, const void *ptr); int bsearch_pack(const struct object_id *oid, const struct packed_git *p, uint32_t *result); /* - * Write the oid of the nth object within the specified packfile into the first - * parameter. Open the index if it is not already open. Returns 0 on success, - * negative otherwise. + * Return the SHA-1 of the nth object within the specified packfile. + * Open the index if it is not already open. The return value points + * at the SHA-1 within the mmapped index. Return NULL if there is an + * error. */ -int nth_packed_object_id(struct object_id *, struct packed_git *, uint32_t n); +const unsigned char *nth_packed_object_sha1(struct packed_git *, uint32_t n); +/* + * Like nth_packed_object_sha1, but write the data into the object specified by + * the the first argument. Returns the first argument on success, and NULL on + * error. + */ +const struct object_id *nth_packed_object_oid(struct object_id *, struct packed_git *, uint32_t n); /* * Return the offset of the nth object within the specified packfile. @@ -144,9 +151,6 @@ void *unpack_entry(struct repository *r, struct packed_git *, off_t, enum object unsigned long unpack_object_header_buffer(const unsigned char *buf, unsigned long len, enum object_type *type, unsigned long *sizep); unsigned long get_size_from_delta(struct packed_git *, struct pack_window **, off_t); int unpack_object_header(struct packed_git *, struct pack_window **, off_t *, unsigned long *); -off_t get_delta_base(struct packed_git *p, struct pack_window **w_curs, - off_t *curpos, enum object_type type, - off_t delta_obj_offset); void release_pack_memory(size_t); |