aboutsummaryrefslogtreecommitdiffstats
path: root/object-store.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-03-16 17:53:08 -0700
committerJunio C Hamano <gitster@pobox.com>2022-03-16 17:53:08 -0700
commit430883a70c79614e52279f2800a9a383ffc68fe5 (patch)
tree84a13eeaaa7f7231a55f02cb48d42c5951197fa5 /object-store.h
parent8d1ae40bae1568be25dcc55679f1635b90d53d1b (diff)
parent6aea6baeb3ece6c832dbdf1deed09f41aebf85c2 (diff)
downloadgit-430883a70c79614e52279f2800a9a383ffc68fe5.tar.gz
Merge branch 'ab/object-file-api-updates'
Object-file API shuffling. * ab/object-file-api-updates: object-file API: pass an enum to read_object_with_reference() object-file.c: add a literal version of write_object_file_prepare() object-file API: have hash_object_file() take "enum object_type" object API: rename hash_object_file_literally() to write_*() object-file API: split up and simplify check_object_signature() object API users + docs: check <0, not !0 with check_object_signature() object API docs: move check_object_signature() docs to cache.h object API: correct "buf" v.s. "map" mismatch in *.c and *.h object-file API: have write_object_file() take "enum object_type" object-file API: add a format_object_header() function object-file API: return "void", not "int" from hash_object_file() object-file.c: split up declaration of unrelated variables
Diffstat (limited to 'object-store.h')
-rw-r--r--object-store.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/object-store.h b/object-store.h
index 6f89482df0..bd2322ed8c 100644
--- a/object-store.h
+++ b/object-store.h
@@ -245,22 +245,22 @@ static inline void *repo_read_object_file(struct repository *r,
/* Read and unpack an object file into memory, write memory to an object file */
int oid_object_info(struct repository *r, const struct object_id *, unsigned long *);
-int hash_object_file(const struct git_hash_algo *algo, const void *buf,
- unsigned long len, const char *type,
- struct object_id *oid);
+void hash_object_file(const struct git_hash_algo *algo, const void *buf,
+ unsigned long len, enum object_type type,
+ struct object_id *oid);
int write_object_file_flags(const void *buf, unsigned long len,
- const char *type, struct object_id *oid,
+ enum object_type type, struct object_id *oid,
unsigned flags);
static inline int write_object_file(const void *buf, unsigned long len,
- const char *type, struct object_id *oid)
+ enum object_type type, struct object_id *oid)
{
return write_object_file_flags(buf, len, type, oid, 0);
}
-int hash_object_file_literally(const void *buf, unsigned long len,
- const char *type, struct object_id *oid,
- unsigned flags);
+int write_object_file_literally(const void *buf, unsigned long len,
+ const char *type, struct object_id *oid,
+ unsigned flags);
/*
* Add an object file to the in-memory object store, without writing it
@@ -331,6 +331,14 @@ int repo_has_object_file_with_flags(struct repository *r,
*/
int has_loose_object_nonlocal(const struct object_id *);
+/**
+ * format_object_header() is a thin wrapper around s xsnprintf() that
+ * writes the initial "<type> <obj-len>" part of the loose object
+ * header. It returns the size that snprintf() returns + 1.
+ */
+int format_object_header(char *str, size_t size, enum object_type type,
+ size_t objsize);
+
void assert_oid_type(const struct object_id *oid, enum object_type expect);
/*