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

Re: [PATCH 4/7] diff.c: Output the text graph padding before each diff line.

From
Thomas Rast <trast@student.ethz.ch>
Date
May 17, 2010, 06:52 UTC
Message-ID
<201005170852.31546.trast@student.ethz.ch>
In-Reply-To
<1273921331-32702-5-git-send-email-struggleyb.nku@gmail.com>
Bo Yang wrote:
Show 15 quoted lines
> diff --git a/diff.c b/diff.c
> index 9bd9063..4a10d16 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -487,6 +487,13 @@ static void emit_rewrite_diff(const char *name_a,
>  	char *data_one, *data_two;
>  	size_t size_one, size_two;
>  	struct emit_callback ecbdata;
> +	char *line_prefix = "";
> +	struct strbuf *msgbuf;
> +
> +	if (o && o->output_prefix) {
> +		msgbuf = o->output_prefix(o->file, 0, o->output_prefix_data);
> +		line_prefix = msgbuf->buf;
> +	}

Umm. This snippet of code means that the callback can't to much except return or print a string depending on the value of the second argument, doesn't it?

So why not either make it explicit and just put a char* field there, or make a more generic callback that replaces write() (or so) and gets a chance to mangle the output in any way it likes?

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Previous: Thomas RastNext: Thomas Rast
Message 11 of 12 in “Make git log --graph looks better with -p and other diff options”
  1. 0/7 Make git log --graph looks better with -p and other diff optionsBo Yang, May 15, 2010
  2. 1/7 Add a prefix output callback to diff output.Bo Yang, May 15, 2010
  3. 2/7 Change to call the new emit_line.Bo Yang, May 15, 2010
  4. 3/7 Output the graph columns at the end of the commit message.Bo Yang, May 15, 2010
  5. 4/7 diff.c: Output the text graph padding before each diff line.Bo Yang, May 15, 2010
  6. 5/7 Emit a whole line once a time.Bo Yang, May 15, 2010
  7. 6/7 Register a callback for graph output.Bo Yang, May 15, 2010
  8. 7/7 Make --color-words work well with --graph.Bo Yang, May 15, 2010
  9. Thomas RastMay 17, 2010
  10. Thomas RastMay 17, 2010
  11. Thomas RastMay 17, 2010
  12. Thomas RastMay 17, 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.