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

Re: [PATCH 06/10] diff.c: emit_line_0 can handle no color

From
Stefan Beller <sbeller@google.com>
Date
Sep 13, 2016, 00:25 UTC
Message-ID
<CAGZ79kbP3k0pa62xpv3SCnTvp-qSzfGKjSy8infcx=EexnBOTA@mail.gmail.com>
In-Reply-To
<xmqqoa3swteo.fsf@gitster.mtv.corp.google.com>
On Mon, Sep 12, 2016 at 5:11 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 17 quoted lines
> Stefan Beller <stefanbeller@gmail.com> writes:
>
>> From: Stefan Beller <sbeller@google.com>
>>
>> ---
>
> "X can do Y" can be taken as a statement of fact (to which "so
> what?"  is an appropriate response), a desire (to which "then please
> say 'make X do Y' instead" is an appropriate response), or a report
> of a bug (to which "please explain why X should be forbidden from
> doing Y" is an appropriate response).
>
> This is way under-explained.  I think this is "make X do Y" kind,
> and if so, please say so and possibly why it is a good idea to teach
> X how to do Y.
>
> Thanks.
Ok, I see the general pattern of your answers: Add more explanations.

Answering for patch 01/10 as well as this one here:

    I want to propose an option to detect&color moved lines in a patch,
    which cannot be done in a one-pass over the diff. Instead we need to go
    over the whole diff twice, because we cannot detect the first line of a
    line pair that got moved in the first pass. So I aim for
    * collecting all output into a buffer as a first pass,
    * as the second pass output the buffer.

So in a later patch I will split up the emit_line_* machinery to either emitting to options->file or buffering if we do the 2 pass thing.

To make sure the 2 passes work correctly, we need to make sure all output is routed through the emit_line functions, and there will be no direct writes.

Now that we will be using the emit_lines functions for non colored output as well, we want to pass in "no color" which I think is best done via NULL and then not calling the output of the color writes.

Previous: Junio C Hamano
Message 21 of 21 in “Another preparatory series for rename detection”
  1. 00/10 Another preparatory series for rename detectionStefan Beller, Sep 11, 2016
  2. 01/10 diff: move line ending check into emit_hunk_headerStefan Beller, Sep 11, 2016
  3. Junio C HamanoSep 12, 2016
  4. 02/10 diff: emit_{add, del, context}_line to increase {pre,post}image line countStefan Beller, Sep 11, 2016
  5. Junio C HamanoSep 12, 2016
  6. 03/10 diff.c: drop tautologous condition in emit_line_0Stefan Beller, Sep 11, 2016
  7. Junio C HamanoSep 12, 2016
  8. Stefan BellerSep 16, 2016
  9. 05/10 diff.c: reintroduce diff_flush_patch for all filesStefan Beller, Sep 11, 2016
  10. Junio C HamanoSep 13, 2016
  11. 04/10 diff.c: rename diff_flush_patch to diff_flush_patch_filepairStefan Beller, Sep 11, 2016
  12. Junio C HamanoSep 12, 2016
  13. 07/10 diff.c: convert fn_out_consume to use emit_line_*Stefan Beller, Sep 11, 2016
  14. Junio C HamanoSep 13, 2016
  15. Stefan BellerSep 13, 2016
  16. 10/10 submodule.c: convert show_submodule_summary to use emit_line_fmtStefan Beller, Sep 11, 2016
  17. 09/10 diff.c: convert emit_rewrite_lines to use emit_line_0Stefan Beller, Sep 11, 2016
  18. 08/10 diff.c: convert emit_rewrite_diff to use emit_line_*Stefan Beller, Sep 11, 2016
  19. 06/10 diff.c: emit_line_0 can handle no colorStefan Beller, Sep 11, 2016
  20. Junio C HamanoSep 13, 2016
  21. Stefan BellerSep 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.