about summary refs log tree commit diff
path: root/third_party/git/packfile.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/packfile.h')
-rw-r--r--third_party/git/packfile.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/third_party/git/packfile.h b/third_party/git/packfile.h
index 240aa73b95..3e98910bdd 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);