327
return g;
328
}
329
330
-static struct commit_graph *load_commit_graph_v1(struct repository *r, const char *obj_dir)
330
+static struct commit_graph *load_commit_graph_v1(struct repository *r,
331
+ struct object_directory *odb)
332
{
332
- char *graph_name = get_commit_graph_filename(obj_dir);
333
+ char *graph_name = get_commit_graph_filename(odb->path);
334
struct commit_graph *g = load_commit_graph_one(graph_name);
335
free(graph_name);
336
337
if (g)
337
- g->obj_dir = obj_dir;
338
+ g->odb = odb;
339
340
return g;
341
}
373
return 1;
374
}
375
375
-static struct commit_graph *load_commit_graph_chain(struct repository *r, const char *obj_dir)
376
+static struct commit_graph *load_commit_graph_chain(struct repository *r,
377
+ struct object_directory *odb)
378
{
379
struct commit_graph *graph_chain = NULL;
380
struct strbuf line = STRBUF_INIT;
381
struct stat st;
382
struct object_id *oids;
383
int i = 0, valid = 1, count;
382
- char *chain_name = get_chain_filename(obj_dir);
384
+ char *chain_name = get_chain_filename(odb->path);
385
FILE *fp;
386
int stat_res;
387
420
free(graph_name);
421
422
if (g) {
421
- g->obj_dir = odb->path;
423
+ g->odb = odb;
424
425
if (add_graph_to_chain(g, graph_chain, oids, i)) {
426
graph_chain = g;
444
return graph_chain;
445
}
446
445
-struct commit_graph *read_commit_graph_one(struct repository *r, const char *obj_dir)
447
+struct commit_graph *read_commit_graph_one(struct repository *r,
448
+ struct object_directory *odb)
449
{
447
- struct commit_graph *g = load_commit_graph_v1(r, obj_dir);
450
+ struct commit_graph *g = load_commit_graph_v1(r, odb);
451
452
if (!g)
450
- g = load_commit_graph_chain(r, obj_dir);
453
+ g = load_commit_graph_chain(r, odb);
454
455
return g;
456
}
457
455
-static void prepare_commit_graph_one(struct repository *r, const char *obj_dir)
458
+static void prepare_commit_graph_one(struct repository *r,
459
+ struct object_directory *odb)
460
{
461
462
if (r->objects->commit_graph)
463
return;
464
461
- r->objects->commit_graph = read_commit_graph_one(r, obj_dir);
465
+ r->objects->commit_graph = read_commit_graph_one(r, odb);
466
}
467
468
/*
509
for (odb = r->objects->odb;
510
!r->objects->commit_graph && odb;
511
odb = odb->next)
508
- prepare_commit_graph_one(r, odb->path);
512
+ prepare_commit_graph_one(r, odb);
513
return !!r->objects->commit_graph;
514
}
515
1474
1475
if (ctx->split && ctx->base_graph_name && ctx->num_commit_graphs_after > 1) {
1476
char *new_base_hash = xstrdup(oid_to_hex(&ctx->new_base_graph->oid));
1473
- char *new_base_name = get_split_graph_filename(ctx->new_base_graph->obj_dir, new_base_hash);
1477
+ char *new_base_name = get_split_graph_filename(ctx->new_base_graph->odb->path, new_base_hash);
1478
1479
free(ctx->commit_graph_filenames_after[ctx->num_commit_graphs_after - 2]);
1480
free(ctx->commit_graph_hash_after[ctx->num_commit_graphs_after - 2]);
1557
1558
while (g && (g->num_commits <= size_mult * num_commits ||
1559
(max_commits && num_commits > max_commits))) {
1556
- if (strcmp(g->obj_dir, ctx->odb->path))
1560
+ if (strcmp(g->odb->path, ctx->odb->path))
1561
break;
1562
1563
num_commits += g->num_commits;
1569
ctx->new_base_graph = g;
1570
1571
if (ctx->num_commit_graphs_after == 2) {
1568
- char *old_graph_name = get_commit_graph_filename(g->obj_dir);
1572
+ char *old_graph_name = get_commit_graph_filename(g->odb->path);
1573
1574
if (!strcmp(g->filename, old_graph_name) &&
1571
- strcmp(g->obj_dir, ctx->odb->path)) {
1575
+ strcmp(g->odb->path, ctx->odb->path)) {
1576
ctx->num_commit_graphs_after = 1;
1577
ctx->new_base_graph = NULL;
1578
}
1820
ctx->oids.alloc = split_opts->max_commits;
1821
1822
if (ctx->append) {
1819
- prepare_commit_graph_one(ctx->r, ctx->odb->path);
1823
+ prepare_commit_graph_one(ctx->r, ctx->odb);
1824
if (ctx->r->objects->commit_graph)
1825
ctx->oids.alloc += ctx->r->objects->commit_graph->num_commits;
1826
}