commit-graph: unify the signatures of all write_graph_chunk_*() functions

Update the write_graph_chunk_*() helper functions to have the same
signature:

  - Return an int error code from all these functions.
    write_graph_chunk_base() already has an int error code, now the
    others will have one, too, but since they don't indicate any
    error, they will always return 0.

  - Drop the hash size parameter of write_graph_chunk_oids() and
    write_graph_chunk_data(); its value can be read directly from
    'the_hash_algo' inside these functions as well.

This opens up the possibility for further cleanups and foolproofing in
the following two patches.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
SZEDER Gábor
2020-06-15 20:14:47 +00:00
committed by Junio C Hamano
parent 0f8ee20695
commit 7ea38d79b7

View File

@ -885,8 +885,8 @@ struct write_commit_graph_context {
struct bloom_filter_settings bloom_settings; struct bloom_filter_settings bloom_settings;
}; };
static void write_graph_chunk_fanout(struct hashfile *f, static int write_graph_chunk_fanout(struct hashfile *f,
struct write_commit_graph_context *ctx) struct write_commit_graph_context *ctx)
{ {
int i, count = 0; int i, count = 0;
struct commit **list = ctx->commits.list; struct commit **list = ctx->commits.list;
@ -907,17 +907,21 @@ static void write_graph_chunk_fanout(struct hashfile *f,
hashwrite_be32(f, count); hashwrite_be32(f, count);
} }
return 0;
} }
static void write_graph_chunk_oids(struct hashfile *f, int hash_len, static int write_graph_chunk_oids(struct hashfile *f,
struct write_commit_graph_context *ctx) struct write_commit_graph_context *ctx)
{ {
struct commit **list = ctx->commits.list; struct commit **list = ctx->commits.list;
int count; int count;
for (count = 0; count < ctx->commits.nr; count++, list++) { for (count = 0; count < ctx->commits.nr; count++, list++) {
display_progress(ctx->progress, ++ctx->progress_cnt); display_progress(ctx->progress, ++ctx->progress_cnt);
hashwrite(f, (*list)->object.oid.hash, (int)hash_len); hashwrite(f, (*list)->object.oid.hash, (int)the_hash_algo->rawsz);
} }
return 0;
} }
static const unsigned char *commit_to_sha1(size_t index, void *table) static const unsigned char *commit_to_sha1(size_t index, void *table)
@ -926,8 +930,8 @@ static const unsigned char *commit_to_sha1(size_t index, void *table)
return commits[index]->object.oid.hash; return commits[index]->object.oid.hash;
} }
static void write_graph_chunk_data(struct hashfile *f, int hash_len, static int write_graph_chunk_data(struct hashfile *f,
struct write_commit_graph_context *ctx) struct write_commit_graph_context *ctx)
{ {
struct commit **list = ctx->commits.list; struct commit **list = ctx->commits.list;
struct commit **last = ctx->commits.list + ctx->commits.nr; struct commit **last = ctx->commits.list + ctx->commits.nr;
@ -944,7 +948,7 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len,
die(_("unable to parse commit %s"), die(_("unable to parse commit %s"),
oid_to_hex(&(*list)->object.oid)); oid_to_hex(&(*list)->object.oid));
tree = get_commit_tree_oid(*list); tree = get_commit_tree_oid(*list);
hashwrite(f, tree->hash, hash_len); hashwrite(f, tree->hash, the_hash_algo->rawsz);
parent = (*list)->parents; parent = (*list)->parents;
@ -1024,10 +1028,12 @@ static void write_graph_chunk_data(struct hashfile *f, int hash_len,
list++; list++;
} }
return 0;
} }
static void write_graph_chunk_extra_edges(struct hashfile *f, static int write_graph_chunk_extra_edges(struct hashfile *f,
struct write_commit_graph_context *ctx) struct write_commit_graph_context *ctx)
{ {
struct commit **list = ctx->commits.list; struct commit **list = ctx->commits.list;
struct commit **last = ctx->commits.list + ctx->commits.nr; struct commit **last = ctx->commits.list + ctx->commits.nr;
@ -1076,10 +1082,12 @@ static void write_graph_chunk_extra_edges(struct hashfile *f,
list++; list++;
} }
return 0;
} }
static void write_graph_chunk_bloom_indexes(struct hashfile *f, static int write_graph_chunk_bloom_indexes(struct hashfile *f,
struct write_commit_graph_context *ctx) struct write_commit_graph_context *ctx)
{ {
struct commit **list = ctx->commits.list; struct commit **list = ctx->commits.list;
struct commit **last = ctx->commits.list + ctx->commits.nr; struct commit **last = ctx->commits.list + ctx->commits.nr;
@ -1101,10 +1109,11 @@ static void write_graph_chunk_bloom_indexes(struct hashfile *f,
} }
stop_progress(&progress); stop_progress(&progress);
return 0;
} }
static void write_graph_chunk_bloom_data(struct hashfile *f, static int write_graph_chunk_bloom_data(struct hashfile *f,
struct write_commit_graph_context *ctx) struct write_commit_graph_context *ctx)
{ {
struct commit **list = ctx->commits.list; struct commit **list = ctx->commits.list;
struct commit **last = ctx->commits.list + ctx->commits.nr; struct commit **last = ctx->commits.list + ctx->commits.nr;
@ -1128,6 +1137,7 @@ static void write_graph_chunk_bloom_data(struct hashfile *f,
} }
stop_progress(&progress); stop_progress(&progress);
return 0;
} }
static int oid_compare(const void *_a, const void *_b) static int oid_compare(const void *_a, const void *_b)
@ -1638,8 +1648,8 @@ static int write_commit_graph_file(struct write_commit_graph_context *ctx)
num_chunks * ctx->commits.nr); num_chunks * ctx->commits.nr);
} }
write_graph_chunk_fanout(f, ctx); write_graph_chunk_fanout(f, ctx);
write_graph_chunk_oids(f, hashsz, ctx); write_graph_chunk_oids(f, ctx);
write_graph_chunk_data(f, hashsz, ctx); write_graph_chunk_data(f, ctx);
if (ctx->num_extra_edges) if (ctx->num_extra_edges)
write_graph_chunk_extra_edges(f, ctx); write_graph_chunk_extra_edges(f, ctx);
if (ctx->changed_paths) { if (ctx->changed_paths) {