Skip to content

Commit

Permalink
Merge branch 'jk/graph-c-expose-symbols-for-cgit'
Browse files Browse the repository at this point in the history
In the v1.8.0 era, we changed symbols that do not have to be global
to file scope static, but a few functions in graph.c were used by
CGit from sideways bypassing the entry points of the API the
in-tree users use.

* jk/graph-c-expose-symbols-for-cgit:
  Revert "graph.c: mark private file-scope symbols as static"
  • Loading branch information
Junio C Hamano committed Mar 19, 2013
2 parents dbe71f9 + ac751a0 commit c278e6f
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 30 deletions.
32 changes: 2 additions & 30 deletions graph.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,34 +7,6 @@

/* 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);

/*
* Set up a custom scheme for column colors.
*
* The default column color scheme inserts ANSI color escapes to colorize
* the graph. The various color escapes are stored in an array of strings
* where each entry corresponds to a color, except for the last entry,
* which denotes the escape for resetting the color back to the default.
* When generating the graph, strings from this array are inserted before
* and after the various column characters.
*
* This function allows you to enable a custom array of color escapes.
* The 'colors_max' argument is the index of the last "reset" entry.
*
* This functions must be called BEFORE graph_init() is called.
*/
static void graph_set_column_colors(const char **colors, unsigned short colors_max);

/*
* Output a padding line in the graph.
* This is similar to graph_next_line(). However, it is guaranteed to
Expand Down Expand Up @@ -90,7 +62,7 @@ enum graph_state {
static const char **column_colors;
static unsigned short column_colors_max;

static void graph_set_column_colors(const char **colors, unsigned short colors_max)
void graph_set_column_colors(const char **colors, unsigned short colors_max)
{
column_colors = colors;
column_colors_max = colors_max;
Expand Down Expand Up @@ -1144,7 +1116,7 @@ static void graph_output_collapsing_line(struct git_graph *graph, struct strbuf
graph_update_state(graph, GRAPH_PADDING);
}

static int graph_next_line(struct git_graph *graph, struct strbuf *sb)
int graph_next_line(struct git_graph *graph, struct strbuf *sb)
{
switch (graph->state) {
case GRAPH_PADDING:
Expand Down
33 changes: 33 additions & 0 deletions graph.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,25 @@
/* A graph is a pointer to this opaque structure */
struct git_graph;

/*
* Set up a custom scheme for column colors.
*
* The default column color scheme inserts ANSI color escapes to colorize
* the graph. The various color escapes are stored in an array of strings
* where each entry corresponds to a color, except for the last entry,
* which denotes the escape for resetting the color back to the default.
* When generating the graph, strings from this array are inserted before
* and after the various column characters.
*
* This function allows you to enable a custom array of color escapes.
* The 'colors_max' argument is the index of the last "reset" entry.
*
* This functions must be called BEFORE graph_init() is called.
*
* NOTE: This function isn't used in Git outside graph.c but it is used
* by CGit (http://git.zx2c4.com/cgit/) to use HTML for colors.
*/
void graph_set_column_colors(const char **colors, unsigned short colors_max);

/*
* Create a new struct git_graph.
Expand Down Expand Up @@ -33,6 +52,20 @@ void graph_update(struct git_graph *graph, struct commit *commit);
*/
int graph_is_commit_finished(struct git_graph const *graph);

/*
* 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.
*
* NOTE: This function isn't used in Git outside graph.c but it is used
* by CGit (http://git.zx2c4.com/cgit/) to wrap HTML around graph lines.
*/
int graph_next_line(struct git_graph *graph, struct strbuf *sb);


/*
* graph_show_*: helper functions for printing to stdout
Expand Down

0 comments on commit c278e6f

Please sign in to comment.