]> git.ipfire.org Git - thirdparty/git.git/commitdiff
graph: extract logic for moving to GRAPH_PRE_COMMIT state
authorJames Coglan <jcoglan@gmail.com>
Tue, 15 Oct 2019 23:47:52 +0000 (23:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Oct 2019 02:11:24 +0000 (11:11 +0900)
This computation is repeated in a couple of places and I need to add
another condition to it to implement a further improvement to the graph
rendering, so I'm extracting this into a function.

Signed-off-by: James Coglan <jcoglan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
graph.c

diff --git a/graph.c b/graph.c
index d724ef25c304eff9e80d03e466ddf399c7a97462..bd7403065ea24032eda39244fc6750ca3ec646fc 100644 (file)
--- a/graph.c
+++ b/graph.c
@@ -588,6 +588,12 @@ static void graph_update_columns(struct git_graph *graph)
                graph->mapping_size--;
 }
 
+static int graph_needs_pre_commit_line(struct git_graph *graph)
+{
+       return graph->num_parents >= 3 &&
+              graph->commit_index < (graph->num_columns - 1);
+}
+
 void graph_update(struct git_graph *graph, struct commit *commit)
 {
        struct commit_list *parent;
@@ -643,8 +649,7 @@ void graph_update(struct git_graph *graph, struct commit *commit)
         */
        if (graph->state != GRAPH_PADDING)
                graph->state = GRAPH_SKIP;
-       else if (graph->num_parents >= 3 &&
-                graph->commit_index < (graph->num_columns - 1))
+       else if (graph_needs_pre_commit_line(graph))
                graph->state = GRAPH_PRE_COMMIT;
        else
                graph->state = GRAPH_COMMIT;
@@ -714,8 +719,7 @@ static void graph_output_skip_line(struct git_graph *graph, struct graph_line *l
         */
        graph_line_addstr(line, "...");
 
-       if (graph->num_parents >= 3 &&
-           graph->commit_index < (graph->num_columns - 1))
+       if (graph_needs_pre_commit_line(graph))
                graph_update_state(graph, GRAPH_PRE_COMMIT);
        else
                graph_update_state(graph, GRAPH_COMMIT);