diff options
author | James Coglan <jcoglan@gmail.com> | 2019-10-16 01:47:50 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-10-16 04:11:24 +0200 |
commit | a551fd5efd7b82604c3254e3f7cac08eaaa97ba9 (patch) | |
tree | 526b1ade30d3cc7929bfc66e03c45176ec15c5e3 /graph.c | |
parent | graph: reuse `find_new_column_by_commit()` (diff) | |
download | git-a551fd5efd7b82604c3254e3f7cac08eaaa97ba9.tar.xz git-a551fd5efd7b82604c3254e3f7cac08eaaa97ba9.zip |
graph: reduce duplication in `graph_insert_into_new_columns()`
I will shortly be making some changes to this function and so am trying
to simplify it. It currently contains some duplicated logic; both
branches the function can take assign the commit's column index into
the `mapping` array and increment `mapping_index`.
Here I change the function so that the only conditional behaviour is
that it appends the commit to `new_columns` if it's not present. All
manipulation of `mapping` now happens on a single code path.
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.c | 20 |
1 files changed, 7 insertions, 13 deletions
@@ -478,23 +478,17 @@ static void graph_insert_into_new_columns(struct git_graph *graph, int i = graph_find_new_column_by_commit(graph, commit); /* - * If the commit is already in the new_columns list, we don't need to - * add it. Just update the mapping correctly. + * If the commit is not already in the new_columns array, then add it + * and record it as being in the final column. */ - if (i >= 0) { - graph->mapping[*mapping_index] = i; - *mapping_index += 2; - return; + if (i < 0) { + i = graph->num_new_columns++; + graph->new_columns[i].commit = commit; + graph->new_columns[i].color = graph_find_commit_color(graph, commit); } - /* - * This commit isn't already in new_columns. Add it. - */ - graph->new_columns[graph->num_new_columns].commit = commit; - graph->new_columns[graph->num_new_columns].color = graph_find_commit_color(graph, commit); - graph->mapping[*mapping_index] = graph->num_new_columns; + graph->mapping[*mapping_index] = i; *mapping_index += 2; - graph->num_new_columns++; } static void graph_update_width(struct git_graph *graph, |