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

Re: [RFC/PATCH 10/17] submodule.c: convert show_submodule_summary to use emit_line_fmt

From
Stefan Beller <sbeller@google.com>
Date
Sep 13, 2016, 23:09 UTC
Message-ID
<CAGZ79kbYNkvLC2A5oQ5FahrPQGe5syaF5_LXi-ddCRzC4HJH=Q@mail.gmail.com>
In-Reply-To
<xmqqpoo7tnco.fsf@gitster.mtv.corp.google.com>
On Tue, Sep 13, 2016 at 4:02 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 25 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> In a later patch, I want to propose an option to detect&color
>> moved lines in a diff, 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 the two corresponding
>> lines (+ and -) that got moved.
>>
>> So to prepare the diff machinery for two pass algorithms
>> (i.e. buffer it all up and then operate on the result),
>> move all emissions to places, such that the only emitting
>> function is emit_line_0.
>>
>> This prepares the code for submodules to go through the
>> emit_line_0 function.
>>
>> Signed-off-by: Stefan Beller <sbeller@google.com>
>> ---
>
> I wonder how this interacts with the jk/diff-submodule-diff-inline
> topic by Jacob that has graduated recently to 'master'.  IIRC, it
> just lets a separate "git diff" instance that is spawned in the
> submodule directory emit its findings to the output of the driving
> "git diff" in the superproject.
>

The easiest way to find out is to merge HEAD^ of this patch series (i.e. "diff: buffer output in emit_line_0") with whatever we suspect can cause breakage for the goal of channeling everything though emit_line_* functions. Looking at that series, I think I'll have to redo this (maybe even including sb/diff-cleanup, to have it all in one series) to capture all output there.

I suspected a breakage, but as the patch series grew larger and larger, I first wanted to get into a working state before paying attention to solving conflicts as resolving conflicts is easier when I know where this series is headed.

Thanks! Stefan

Previous: Junio C HamanoNext: Stefan Beller
Message 19 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.