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

Re: [RFC/PATCH 16/17] diff: buffer output in emit_line_0

From
Stefan Beller <sbeller@google.com>
Date
Sep 13, 2016, 23:28 UTC
Message-ID
<CAGZ79kb4Rm=AT-hFutXW5jhZRL0ThDFr789=AbxKC-o+jQ341g@mail.gmail.com>
In-Reply-To
<xmqqlgyvtn6l.fsf@gitster.mtv.corp.google.com>
On Tue, Sep 13, 2016 at 4:06 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 17 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> +struct line_emission {
>> +     const char *set;
>> +     const char *line;
>> +     const char *ws;
>> +     const char *reset;
>> +     int first;
>> +     int len;
>> +     int whitespace_check;
>> +     unsigned ws_rule;
>> +     int has_trailing_carriage_return;
>> +     int has_trailing_newline;
>> +};
>
> It is somewhat strange to see whitespace things are per-line here.
> I'd understand it if it were per-path, though.

Yeah we have to have it at least per path as that is the granularity the user can configure it.

So would we rather want to keep the ecbdata around for each file pair and just reference that? I thought we deliberately want to avoid ecbdata, so maybe we rather want to have another struct that keeps path related information around (pointer to the blob and white space information).

Thanks, Stefan

Previous: Junio C HamanoNext: Junio C Hamano
Message 25 of 28 in “[RFC/PATCH 00/17]”
  1. 00/17 Stefan Beller, Sep 13, 2016
  2. 01/17 diff: move line ending check into emit_hunk_headerStefan Beller, Sep 13, 2016
  3. René ScharfeSep 13, 2016
  4. Stefan BellerSep 13, 2016
  5. 02/17 diff: emit_{add, del, context}_line to increase {pre,post}image line countStefan Beller, Sep 13, 2016
  6. 03/17 diff.c: drop tautologous condition in emit_line_0Stefan Beller, Sep 13, 2016
  7. 04/17 diff.c: factor out diff_flush_patch_all_file_pairsStefan Beller, Sep 13, 2016
  8. 05/17 diff.c: emit_line_0 can handle no color settingStefan Beller, Sep 13, 2016
  9. Junio C HamanoSep 13, 2016
  10. 08/17 diff.c: convert emit_rewrite_diff to use emit_line_*Stefan Beller, Sep 13, 2016
  11. 07/17 diff.c: convert builtin_diff to use emit_line_*Stefan Beller, Sep 13, 2016
  12. 06/17 diff.c: convert fn_out_consume to use emit_line_*Stefan Beller, Sep 13, 2016
  13. Junio C HamanoSep 13, 2016
  14. 09/17 diff.c: convert emit_rewrite_lines to use emit_line_*Stefan Beller, Sep 13, 2016
  15. 13/17 diff.c: convert word diffing to use emit_line_*Stefan Beller, Sep 13, 2016
  16. 12/17 diff.c: convert show_stats to use emit_line_*Stefan Beller, Sep 13, 2016
  17. 10/17 submodule.c: convert show_submodule_summary to use emit_line_fmtStefan Beller, Sep 13, 2016
  18. Junio C HamanoSep 13, 2016
  19. Stefan BellerSep 13, 2016
  20. 14/17 diff.c: convert diff_flush to use emit_line_*Stefan Beller, Sep 13, 2016
  21. 17/17 diff.c: color moved lines differentlyStefan Beller, Sep 13, 2016
  22. 11/17 diff.c: convert emit_binary_diff_body to use emit_line_*Stefan Beller, Sep 13, 2016
  23. 16/17 diff: buffer output in emit_line_0Stefan Beller, Sep 13, 2016
  24. Junio C HamanoSep 13, 2016
  25. Stefan BellerSep 13, 2016
  26. Junio C HamanoSep 13, 2016
  27. Stefan BellerSep 13, 2016
  28. 15/17 diff.c: convert diff_summary to use emit_line_*Stefan Beller, Sep 13, 2016

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.