зеркало из https://github.com/microsoft/git.git
commit-graph: add free_commit_graph
Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
e5c5ca2729
Коммит
c3756d5b7f
|
@ -115,6 +115,8 @@ static int graph_read(int argc, const char **argv)
|
||||||
printf(" large_edges");
|
printf(" large_edges");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
|
free_commit_graph(graph);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -231,16 +231,8 @@ static int prepare_commit_graph(void)
|
||||||
|
|
||||||
static void close_commit_graph(void)
|
static void close_commit_graph(void)
|
||||||
{
|
{
|
||||||
if (!commit_graph)
|
free_commit_graph(commit_graph);
|
||||||
return;
|
commit_graph = NULL;
|
||||||
|
|
||||||
if (commit_graph->graph_fd >= 0) {
|
|
||||||
munmap((void *)commit_graph->data, commit_graph->data_len);
|
|
||||||
commit_graph->data = NULL;
|
|
||||||
close(commit_graph->graph_fd);
|
|
||||||
}
|
|
||||||
|
|
||||||
FREE_AND_NULL(commit_graph);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bsearch_graph(struct commit_graph *g, struct object_id *oid, uint32_t *pos)
|
static int bsearch_graph(struct commit_graph *g, struct object_id *oid, uint32_t *pos)
|
||||||
|
@ -1033,3 +1025,15 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g)
|
||||||
|
|
||||||
return verify_commit_graph_error;
|
return verify_commit_graph_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void free_commit_graph(struct commit_graph *g)
|
||||||
|
{
|
||||||
|
if (!g)
|
||||||
|
return;
|
||||||
|
if (g->graph_fd >= 0) {
|
||||||
|
munmap((void *)g->data, g->data_len);
|
||||||
|
g->data = NULL;
|
||||||
|
close(g->graph_fd);
|
||||||
|
}
|
||||||
|
free(g);
|
||||||
|
}
|
||||||
|
|
|
@ -58,4 +58,6 @@ void write_commit_graph(const char *obj_dir,
|
||||||
|
|
||||||
int verify_commit_graph(struct repository *r, struct commit_graph *g);
|
int verify_commit_graph(struct repository *r, struct commit_graph *g);
|
||||||
|
|
||||||
|
void free_commit_graph(struct commit_graph *);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче