Skip to content
  • Junio C Hamano's avatar
    combine-diff: support format_callback · 25e5e2bf
    Junio C Hamano authored
    
    
    This teaches combine-diff machinery to feed a combined merge to a callback
    function when DIFF_FORMAT_CALLBACK is specified.
    
    So far, format callback functions are not used for anything but 2-way
    diffs. A callback is given a diff_queue_struct, which is an array of
    diff_filepair. As its name suggests, a diff_filepair is a _pair_ of
    diff_filespec that represents a single preimage and a single postimage.
    
    Since "diff -c" is to compare N parents with a single merge result and
    filter out any paths whose result match one (or more) of the parent(s),
    its output has to be able to represent N preimages and 1 postimage. For
    this reason, a callback function that inspects a diff_filepair that
    results from this new infrastructure can and is expected to view the
    preimage side (i.e. pair->one) as an array of diff_filespec. Each element
    in the array, except for the last one, is marked with "has_more_entries"
    bit, so that the same callback function can be used for 2-way diffs and
    combined diffs.
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    25e5e2bf