object-file API: have write_object_file() take "enum object_type"

Change the write_object_file() function to take an "enum object_type"
instead of a "const char *type". Its callers either passed
{commit,tree,blob,tag}_type and can pass the corresponding OBJ_* type
instead, or were hardcoding strings like "blob".

This avoids the back & forth fragility where the callers of
write_object_file() would have the enum type, and convert it
themselves via type_name(). We do have to now do that conversion
ourselves before calling write_object_file_prepare(), but those
codepaths will be similarly adjusted in subsequent commits.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason
2022-02-05 00:48:26 +01:00
committed by Junio C Hamano
parent b04cdea46c
commit c80d226a04
19 changed files with 33 additions and 33 deletions

View File

@ -250,10 +250,10 @@ void hash_object_file(const struct git_hash_algo *algo, const void *buf,
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);
}