commit-graph: move remaining write parameters into options
Move the remaining optional parameters that can be passed to `write_commit_graph()` into its options structure to simplify the function's calling convention. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
1 parent
ffcd9b2fd8
commit
c61c348b66
5 files changed
+17
-25
No files matched your search
@@ -319,6 +319,7 @@ static int cmd_commit_graph_write(int argc,
|
||||
string_list_append(&pack_indexes, packname.buf);
|
||||
}
|
||||
|
||||
write_opts.pack_indexes = &pack_indexes;
|
||||
strbuf_release(&packname);
|
||||
} else if (opts.stdin_commits) {
|
||||
oidset_init(&commits, 0);
|
||||
@@ -335,13 +336,11 @@ static int cmd_commit_graph_write(int argc,
|
||||
}
|
||||
}
|
||||
|
||||
write_opts.commits = &commits;
|
||||
stop_progress(&progress);
|
||||
}
|
||||
|
||||
if (write_commit_graph(repo, dir->abspath,
|
||||
opts.stdin_packs ? &pack_indexes : NULL,
|
||||
opts.stdin_commits ? &commits : NULL,
|
||||
&write_opts))
|
||||
if (write_commit_graph(repo, dir->abspath, &write_opts))
|
||||
result = 1;
|
||||
|
||||
cleanup:
|
||||
|
||||
+5
-10
@@ -2943,20 +2943,15 @@ int cmd_fetch(int argc,
|
||||
write_opts.flags |= COMMIT_GRAPH_WRITE_PROGRESS;
|
||||
if (graph_write_mode != GRAPH_WRITE_TIPS)
|
||||
write_opts.flags |= COMMIT_GRAPH_WRITE_REACHABLE;
|
||||
else
|
||||
write_opts.commits = &updated_tips;
|
||||
|
||||
if (graph_write_mode != GRAPH_WRITE_SKIP) {
|
||||
trace2_region_enter("fetch", "write-commit-graph",
|
||||
the_repository);
|
||||
if (graph_write_mode == GRAPH_WRITE_TIPS)
|
||||
write_commit_graph(
|
||||
the_repository,
|
||||
the_repository->objects->source->path,
|
||||
NULL, &updated_tips, &write_opts);
|
||||
else
|
||||
write_commit_graph(
|
||||
the_repository,
|
||||
the_repository->objects->source->path,
|
||||
NULL, NULL, &write_opts);
|
||||
write_commit_graph(the_repository,
|
||||
the_repository->objects->source->path,
|
||||
&write_opts);
|
||||
trace2_region_leave("fetch", "write-commit-graph",
|
||||
the_repository);
|
||||
}
|
||||
|
||||
+1
-1
@@ -742,7 +742,7 @@ int cmd_gc(int argc,
|
||||
write_opts.flags |= COMMIT_GRAPH_WRITE_PROGRESS;
|
||||
|
||||
write_commit_graph(the_repository, the_repository->objects->source->path,
|
||||
NULL, NULL, &write_opts);
|
||||
&write_opts);
|
||||
}
|
||||
|
||||
if (!daemonized) {
|
||||
|
||||
+6
-8
@@ -41,7 +41,7 @@ void git_test_write_commit_graph_or_die(struct repository *repo)
|
||||
if (git_env_bool(GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS, 0))
|
||||
opts.flags |= COMMIT_GRAPH_WRITE_BLOOM_FILTERS;
|
||||
|
||||
if (write_commit_graph(repo, repo->objects->source->path, NULL, NULL, &opts))
|
||||
if (write_commit_graph(repo, repo->objects->source->path, &opts))
|
||||
die("failed to write commit-graph under GIT_TEST_COMMIT_GRAPH");
|
||||
}
|
||||
|
||||
@@ -2544,8 +2544,6 @@ out:
|
||||
|
||||
int write_commit_graph(struct repository *r,
|
||||
const char *dir,
|
||||
const struct string_list *const pack_indexes,
|
||||
struct oidset *commits,
|
||||
const struct commit_graph_write_options *opts)
|
||||
{
|
||||
struct write_commit_graph_context ctx = {
|
||||
@@ -2563,7 +2561,7 @@ int write_commit_graph(struct repository *r,
|
||||
struct topo_level_slab topo_levels;
|
||||
struct commit_graph *g;
|
||||
|
||||
if (!!pack_indexes + !!commits + !!(opts->flags & COMMIT_GRAPH_WRITE_REACHABLE) > 1)
|
||||
if (!!opts->pack_indexes + !!opts->commits + !!(opts->flags & COMMIT_GRAPH_WRITE_REACHABLE) > 1)
|
||||
BUG("attempting to write commit-graph with mutually incompatible options");
|
||||
|
||||
prepare_repo_settings(r);
|
||||
@@ -2644,12 +2642,12 @@ int write_commit_graph(struct repository *r,
|
||||
}
|
||||
}
|
||||
|
||||
if (pack_indexes) {
|
||||
if (opts->pack_indexes) {
|
||||
ctx.order_by_pack = 1;
|
||||
if ((res = fill_oids_from_packs(&ctx, pack_indexes)))
|
||||
if ((res = fill_oids_from_packs(&ctx, opts->pack_indexes)))
|
||||
goto cleanup;
|
||||
} else if (commits) {
|
||||
if ((res = fill_oids_from_commits(&ctx, commits)))
|
||||
} else if (opts->commits) {
|
||||
if ((res = fill_oids_from_commits(&ctx, opts->commits)))
|
||||
goto cleanup;
|
||||
} else if (opts->flags & COMMIT_GRAPH_WRITE_REACHABLE) {
|
||||
fill_oids_from_reachable(&ctx, &reachable_commits);
|
||||
|
||||
+2
-2
@@ -171,6 +171,8 @@ enum commit_graph_split_flags {
|
||||
|
||||
struct commit_graph_write_options {
|
||||
enum commit_graph_write_flags flags;
|
||||
const struct string_list *pack_indexes;
|
||||
struct oidset *commits;
|
||||
int size_multiple;
|
||||
int max_commits;
|
||||
timestamp_t expire_time;
|
||||
@@ -195,8 +197,6 @@ struct commit_graph_write_options {
|
||||
*/
|
||||
int write_commit_graph(struct repository *r,
|
||||
const char *dir,
|
||||
const struct string_list *pack_indexes,
|
||||
struct oidset *commits,
|
||||
const struct commit_graph_write_options *opts);
|
||||
|
||||
#define COMMIT_GRAPH_VERIFY_SHALLOW (1 << 0)
|
||||
|
||||
Reference in new issue
Block a user