diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2018-05-01 14:47:13 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-05-22 05:36:34 +0200 |
commit | e2838d85b6d35592ff5851d67f0232a78083ada7 (patch) | |
tree | 64145e0fd535978aa7839440c0beff6c06531522 /commit-graph.h | |
parent | commit: use generations in paint_down_to_common() (diff) | |
download | git-e2838d85b6d35592ff5851d67f0232a78083ada7.tar.xz git-e2838d85b6d35592ff5851d67f0232a78083ada7.zip |
commit-graph: always load commit-graph information
Most code paths load commits using lookup_commit() and then
parse_commit(). In some cases, including some branch lookups, the commit
is parsed using parse_object_buffer() which side-steps parse_commit() in
favor of parse_commit_buffer().
With generation numbers in the commit-graph, we need to ensure that any
commit that exists in the commit-graph file has its generation number
loaded.
Create new load_commit_graph_info() method to fill in the information
for a commit that exists only in the commit-graph file. Call it from
parse_commit_buffer() after loading the other commit information from
the given buffer. Only fill this information when specified by the
'check_graph' parameter.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit-graph.h')
-rw-r--r-- | commit-graph.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/commit-graph.h b/commit-graph.h index 260a468e73..96cccb10f3 100644 --- a/commit-graph.h +++ b/commit-graph.h @@ -17,6 +17,14 @@ char *get_commit_graph_filename(const char *obj_dir); */ int parse_commit_in_graph(struct commit *item); +/* + * It is possible that we loaded commit contents from the commit buffer, + * but we also want to ensure the commit-graph content is correctly + * checked and filled. Fill the graph_pos and generation members of + * the given commit. + */ +void load_commit_graph_info(struct commit *item); + struct tree *get_commit_tree_in_graph(const struct commit *c); struct commit_graph { |