Merge branch 'dl/no-extern-in-func-decl'
[gitweb.git] / object-store.h
index 9700d1aca7ff038adbe364dcfa3b6d9da855ea41..46a1da79cc8390de89114c127c706fb020d7c82c 100644 (file)
@@ -77,7 +77,7 @@ struct packed_git {
                 freshened:1,
                 do_not_close:1,
                 pack_promisor:1;
-       unsigned char sha1[20];
+       unsigned char hash[GIT_MAX_RAWSZ];
        struct revindex_entry *revindex;
        /* something like ".git/objects/pack/xxxxx.pack" */
        char pack_name[FLEX_ARRAY]; /* more */
@@ -163,9 +163,9 @@ void *map_loose_object(struct repository *r, const struct object_id *oid,
                       unsigned long *size);
 
 void *read_object_file_extended(struct repository *r,
-                                      const struct object_id *oid,
-                                      enum object_type *type,
-                                      unsigned long *size, int lookup_replace);
+                               const struct object_id *oid,
+                               enum object_type *type,
+                               unsigned long *size, int lookup_replace);
 static inline void *repo_read_object_file(struct repository *r,
                                          const struct object_id *oid,
                                          enum object_type *type,
@@ -181,17 +181,17 @@ static inline void *repo_read_object_file(struct repository *r,
 int oid_object_info(struct repository *r, const struct object_id *, unsigned long *);
 
 int hash_object_file(const void *buf, unsigned long len,
-                           const char *type, struct object_id *oid);
+                    const char *type, struct object_id *oid);
 
 int write_object_file(const void *buf, unsigned long len,
-                            const char *type, struct object_id *oid);
+                     const char *type, struct object_id *oid);
 
 int hash_object_file_literally(const void *buf, unsigned long len,
-                                     const char *type, struct object_id *oid,
-                                     unsigned flags);
+                              const char *type, struct object_id *oid,
+                              unsigned flags);
 
 int pretend_object_file(void *, unsigned long, enum object_type,
-                              struct object_id *oid);
+                       struct object_id *oid);
 
 int force_object_loose(const struct object_id *oid, time_t mtime);
 
@@ -280,6 +280,12 @@ struct object_info {
 #define OBJECT_INFO_QUICK 8
 /* Do not check loose object */
 #define OBJECT_INFO_IGNORE_LOOSE 16
+/*
+ * Do not attempt to fetch the object if missing (even if fetch_is_missing is
+ * nonzero). This is meant for bulk prefetching of missing blobs in a partial
+ * clone. Implies OBJECT_INFO_QUICK.
+ */
+#define OBJECT_INFO_FOR_PREFETCH (32 + OBJECT_INFO_QUICK)
 
 int oid_object_info_extended(struct repository *r,
                             const struct object_id *,