summaryrefslogtreecommitdiff
path: root/graph.c
diff options
context:
space:
mode:
authorJames Coglan <jcoglan@gmail.com>2019-10-15 23:47:52 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-10-16 02:11:24 (GMT)
commitee7abb5ffaaba8c3fc5f89765609f30d638f63f7 (patch)
treeef6e353ea23d219c11afa42c9bfe435e4b6a5638 /graph.c
parent46ba2abdfa95a26a86714dab386a72a3a5b706a5 (diff)
downloadgit-ee7abb5ffaaba8c3fc5f89765609f30d638f63f7.zip
git-ee7abb5ffaaba8c3fc5f89765609f30d638f63f7.tar.gz
git-ee7abb5ffaaba8c3fc5f89765609f30d638f63f7.tar.bz2
graph: extract logic for moving to GRAPH_PRE_COMMIT state
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>
Diffstat (limited to 'graph.c')
-rw-r--r--graph.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/graph.c b/graph.c
index d724ef2..bd74030 100644
--- 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);