diff options
-rw-r--r-- | graph.c | 57 | ||||
-rw-r--r-- | graph.h | 40 |
2 files changed, 43 insertions, 54 deletions
@@ -4,6 +4,43 @@ #include "diff.h" #include "revision.h" +/* Internal API */ + +/* + * Output the next line for a graph. + * This formats the next graph line into the specified strbuf. It is not + * terminated with a newline. + * + * Returns 1 if the line includes the current commit, and 0 otherwise. + * graph_next_line() will return 1 exactly once for each time + * graph_update() is called. + */ +static int graph_next_line(struct git_graph *graph, struct strbuf *sb); + +/* + * Output a padding line in the graph. + * This is similar to graph_next_line(). However, it is guaranteed to + * never print the current commit line. Instead, if the commit line is + * next, it will simply output a line of vertical padding, extending the + * branch lines downwards, but leaving them otherwise unchanged. + */ +static void graph_padding_line(struct git_graph *graph, struct strbuf *sb); + +/* + * Print a strbuf to stdout. If the graph is non-NULL, all lines but the + * first will be prefixed with the graph output. + * + * If the strbuf ends with a newline, the output will end after this + * newline. A new graph line will not be printed after the final newline. + * If the strbuf is empty, no output will be printed. + * + * Since the first line will not include the graph ouput, the caller is + * responsible for printing this line's graph (perhaps via + * graph_show_commit() or graph_show_oneline()) before calling + * graph_show_strbuf(). + */ +static void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb); + /* * TODO: * - Add colors to the graph. @@ -180,14 +217,6 @@ struct git_graph *graph_init(struct rev_info *opt) return graph; } -void graph_release(struct git_graph *graph) -{ - free(graph->columns); - free(graph->new_columns); - free(graph->mapping); - free(graph); -} - static void graph_update_state(struct git_graph *graph, enum graph_state s) { graph->prev_state = graph->state; @@ -685,7 +714,7 @@ static void graph_output_commit_char(struct git_graph *graph, struct strbuf *sb) strbuf_addch(sb, '*'); } -void graph_output_commit_line(struct git_graph *graph, struct strbuf *sb) +static void graph_output_commit_line(struct git_graph *graph, struct strbuf *sb) { int seen_this = 0; int i, j; @@ -760,7 +789,7 @@ void graph_output_commit_line(struct git_graph *graph, struct strbuf *sb) graph_update_state(graph, GRAPH_COLLAPSING); } -void graph_output_post_merge_line(struct git_graph *graph, struct strbuf *sb) +static void graph_output_post_merge_line(struct git_graph *graph, struct strbuf *sb) { int seen_this = 0; int i, j; @@ -801,7 +830,7 @@ void graph_output_post_merge_line(struct git_graph *graph, struct strbuf *sb) graph_update_state(graph, GRAPH_COLLAPSING); } -void graph_output_collapsing_line(struct git_graph *graph, struct strbuf *sb) +static void graph_output_collapsing_line(struct git_graph *graph, struct strbuf *sb) { int i; int *tmp_mapping; @@ -906,7 +935,7 @@ void graph_output_collapsing_line(struct git_graph *graph, struct strbuf *sb) graph_update_state(graph, GRAPH_PADDING); } -int graph_next_line(struct git_graph *graph, struct strbuf *sb) +static int graph_next_line(struct git_graph *graph, struct strbuf *sb) { switch (graph->state) { case GRAPH_PADDING: @@ -933,7 +962,7 @@ int graph_next_line(struct git_graph *graph, struct strbuf *sb) return 0; } -void graph_padding_line(struct git_graph *graph, struct strbuf *sb) +static void graph_padding_line(struct git_graph *graph, struct strbuf *sb) { int i, j; @@ -1055,7 +1084,7 @@ int graph_show_remainder(struct git_graph *graph) } -void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb) +static void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb) { char *p; @@ -11,11 +11,6 @@ struct git_graph; struct git_graph *graph_init(struct rev_info *opt); /* - * Destroy a struct git_graph and free associated memory. - */ -void graph_release(struct git_graph *graph); - -/* * Update a git_graph with a new commit. * This will cause the graph to begin outputting lines for the new commit * the next time graph_next_line() is called. @@ -27,26 +22,6 @@ void graph_release(struct git_graph *graph); void graph_update(struct git_graph *graph, struct commit *commit); /* - * Output the next line for a graph. - * This formats the next graph line into the specified strbuf. It is not - * terminated with a newline. - * - * Returns 1 if the line includes the current commit, and 0 otherwise. - * graph_next_line() will return 1 exactly once for each time - * graph_update() is called. - */ -int graph_next_line(struct git_graph *graph, struct strbuf *sb); - -/* - * Output a padding line in the graph. - * This is similar to graph_next_line(). However, it is guaranteed to - * never print the current commit line. Instead, if the commit line is - * next, it will simply output a line of vertical padding, extending the - * branch lines downwards, but leaving them otherwise unchanged. - */ -void graph_padding_line(struct git_graph *graph, struct strbuf *sb); - -/* * Determine if a graph has finished outputting lines for the current * commit. * @@ -90,21 +65,6 @@ void graph_show_padding(struct git_graph *graph); int graph_show_remainder(struct git_graph *graph); /* - * Print a strbuf to stdout. If the graph is non-NULL, all lines but the - * first will be prefixed with the graph output. - * - * If the strbuf ends with a newline, the output will end after this - * newline. A new graph line will not be printed after the final newline. - * If the strbuf is empty, no output will be printed. - * - * Since the first line will not include the graph ouput, the caller is - * responsible for printing this line's graph (perhaps via - * graph_show_commit() or graph_show_oneline()) before calling - * graph_show_strbuf(). - */ -void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb); - -/* * Print a commit message strbuf and the remainder of the graph to stdout. * * This is similar to graph_show_strbuf(), but it always prints the |