aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--merge-ort.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/merge-ort.c b/merge-ort.c
index 27a58a735d..289a61822f 100644
--- a/merge-ort.c
+++ b/merge-ort.c
@@ -3822,15 +3822,16 @@ static int tree_entry_order(const void *a_, const void *b_)
b->string, strlen(b->string), bmi->result.mode);
}
-static int write_tree(struct object_id *result_oid,
+static int write_tree(struct repository *repo,
+ struct object_id *result_oid,
struct string_list *versions,
- unsigned int offset,
- size_t hash_size)
+ unsigned int offset)
{
size_t maxlen = 0, extra;
unsigned int nr;
struct strbuf buf = STRBUF_INIT;
int i, ret = 0;
+ size_t hash_size = repo->hash_algo->rawsz;
assert(offset <= versions->nr);
nr = versions->nr - offset;
@@ -3856,7 +3857,7 @@ static int write_tree(struct object_id *result_oid,
}
/* Write this object file out, and record in result_oid */
- if (odb_write_object(the_repository->objects, buf.buf,
+ if (odb_write_object(repo->objects, buf.buf,
buf.len, OBJ_TREE, result_oid))
ret = -1;
strbuf_release(&buf);
@@ -4026,8 +4027,8 @@ static int write_completed_directory(struct merge_options *opt,
dir_info->is_null = 0;
dir_info->result.mode = S_IFDIR;
if (record_tree &&
- write_tree(&dir_info->result.oid, &info->versions, offset,
- opt->repo->hash_algo->rawsz) < 0)
+ write_tree(opt->repo, &dir_info->result.oid, &info->versions,
+ offset) < 0)
ret = -1;
}
@@ -4573,8 +4574,7 @@ static int process_entries(struct merge_options *opt,
BUG("dir_metadata accounting completely off; shouldn't happen");
}
if (record_tree &&
- write_tree(result_oid, &dir_metadata.versions, 0,
- opt->repo->hash_algo->rawsz) < 0)
+ write_tree(opt->repo, result_oid, &dir_metadata.versions, 0) < 0)
ret = -1;
cleanup:
string_list_clear(&plist, 0);