git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Make graph_next_line() available in the graph.h API

From
Johan Herland <johan@herland.net>
Date
Jul 13, 2010, 21:23 UTC
Message-ID
<1279056219-27096-2-git-send-email-johan@herland.net>
In-Reply-To
<1279056219-27096-1-git-send-email-johan@herland.net>

In order to successfully use the graph API from a context other than the stdout/command-line scenario (where the graph_show_* functions are suitable), we need direct access to graph_next_line(), to drive the graph drawing process.

Signed-off-by: Johan Herland <johan@herland.net>
---
 graph.c |   13 +------------
 graph.h |   11 +++++++++++
 2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/graph.c b/graph.c
index ac7c605..47397da 100644
--- a/graph.c
+++ b/graph.c
@@ -8,17 +8,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);
-
-/*
  * 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
@@ -1143,7 +1132,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:
diff --git a/graph.h b/graph.h
index b82ae87..f188168 100644
--- a/graph.h
+++ b/graph.h
@@ -32,6 +32,17 @@ 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.
+ */
+int graph_next_line(struct git_graph *graph, struct strbuf *sb);
+
 
 /*
  * graph_show_*: helper functions for printing to stdout
-- 
1.7.0.4
Previous: Johan HerlandNext: Johan Herland
Message 2 of 12 in “Preparing the graph API for external users”
  1. 0/2 Preparing the graph API for external usersJohan Herland, Jul 13, 2010
  2. 1/2 Make graph_next_line() available in the graph.h APIJohan Herland, Jul 13, 2010
  3. 2/2 Enable custom schemes for column colors in the graph APIJohan Herland, Jul 13, 2010
  4. 0/5 Commit graph on CGit's 'log' viewJohan Herland, Jul 13, 2010
  5. Lars HjemliJul 13, 2010
  6. Johan HerlandJul 14, 2010
  7. Lars HjemliJul 18, 2010
  8. 1/5 ui-stats: Remove unnecessary #includeJohan Herland, Jul 13, 2010
  9. 2/5 ui-log: Move 'Age' column to the right of 'Author', like in gitkJohan Herland, Jul 13, 2010
  10. 3/5 ui-log: Refactor display of commit messagesJohan Herland, Jul 13, 2010
  11. 4/5 ui-log: Implement support for commit graphsJohan Herland, Jul 13, 2010
  12. 5/5 ui-log: Colorize commit graphJohan Herland, Jul 13, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.