On Tue, Sep 13, 2016 at 4:02 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> 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@xxxxxxxxxx> >> --- > > 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