diff options
Diffstat (limited to 'object-file.c')
| -rw-r--r-- | object-file.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/object-file.c b/object-file.c index 4e55f475b3..820810a5f4 100644 --- a/object-file.c +++ b/object-file.c @@ -2235,7 +2235,7 @@ cleanup: int write_object_file_flags(const void *buf, unsigned long len, enum object_type type, struct object_id *oid, - unsigned flags) + struct object_id *compat_oid_in, unsigned flags) { struct repository *repo = the_repository; const struct git_hash_algo *algo = repo->hash_algo; @@ -2246,7 +2246,9 @@ int write_object_file_flags(const void *buf, unsigned long len, /* Generate compat_oid */ if (compat) { - if (type == OBJ_BLOB) + if (compat_oid_in) + oidcpy(&compat_oid, compat_oid_in); + else if (type == OBJ_BLOB) hash_object_file(compat, buf, len, type, &compat_oid); else { struct strbuf converted = STRBUF_INIT; |
