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

[PATCH v4 0/3] range-diff fixes

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 9, 2018, 10:18 UTC
Message-ID
<20181109101803.3038-1-avarab@gmail.com>
In-Reply-To
<20181107122202.1813-3-avarab@gmail.com>

Addresses feedback on v3, especially Eric's suggestion to split out the behavior change (which I was not aware of) into a 3/3. Diff with v3:

1:  23295d7806 ! 1:  5399e57513 range-diff doc: add a section about output stability
    @@ -29,11 +29,11 @@
     +be machine-readable.
     +
     +This is particularly true when passing in diff options. Currently some
    -+options like `--stat` can as an emergent effect produce output that's
    -+quite useless in the context of `range-diff`. Future versions of
    -+`range-diff` may learn to interpret such options in a manner specifc
    -+to `range-diff` (e.g. for `--stat` summarizing how the diffstat
    -+changed).
    ++options like `--stat` can, as an emergent effect, produce output
    ++that's quite useless in the context of `range-diff`. Future versions
    ++of `range-diff` may learn to interpret such options in a manner
    ++specific to `range-diff` (e.g. for `--stat` producing human-readable
    ++output which summarizes how the diffstat changed).
      
      CONFIGURATION
      -------------
2:  b21bd273f5 ! 2:  e56975df6c range-diff: fix regression in passing along diff options
    @@ -4,8 +4,10 @@
     
         In 73a834e9e2 ("range-diff: relieve callers of low-level configuration
         burden", 2018-07-22) we broke passing down options like --no-patch,
    -    --stat etc. Fix that regression, and add a test for some of these
    -    options being passed down.
    +    --stat etc.
    +
    +    Fix that regression, and add a test asserting the pre-73a834e9e2
    +    behavior for some of these diff options.
     
         As noted in a change leading up to this ("range-diff doc: add a
         section about output stability", 2018-11-07) the output is not meant
    @@ -14,7 +16,9 @@
     
         See
         https://public-inbox.org/git/nycvar.QRO.7.76.6.1811071202480.39@tvgsbejvaqbjf.bet/
    -    for a further explanation of the regression.
    +    for a further explanation of the regression. The fix here is not the
    +    same as in Johannes's on-list patch, for reasons that'll be explained
    +    in a follow-up commit.
     
         The quoting of "EOF" here mirrors that of an earlier test. Perhaps
         that should be fixed, but let's leave that up to a later cleanup
    @@ -30,8 +34,7 @@
      
      		memcpy(&opts, diffopt, sizeof(opts));
     -		opts.output_format = DIFF_FORMAT_PATCH;
    -+		if (!opts.output_format)
    -+			opts.output_format = DIFF_FORMAT_PATCH;
    ++		opts.output_format |= DIFF_FORMAT_PATCH;
      		opts.flags.suppress_diff_headers = 1;
      		opts.flags.dual_color_diffed_diffs = dual_color;
      		opts.output_prefix = output_prefix_cb;
    @@ -55,20 +58,43 @@
     +'
     +
     +test_expect_success 'changed commit with --stat diff option' '
    ++	four_spaces="    " &&
     +	git range-diff --no-color --stat topic...changed >actual &&
     +	cat >expected <<-EOF &&
     +	1:  4de457d = 1:  a4b3333 s/5/A/
     +	     a => b | 0
     +	     1 file changed, 0 insertions(+), 0 deletions(-)
    ++	$four_spaces
     +	2:  fccce22 = 2:  f51d370 s/4/A/
     +	     a => b | 0
     +	     1 file changed, 0 insertions(+), 0 deletions(-)
    ++	$four_spaces
     +	3:  147e64e ! 3:  0559556 s/11/B/
     +	     a => b | 0
     +	     1 file changed, 0 insertions(+), 0 deletions(-)
    ++	$four_spaces
    ++	    @@ -10,7 +10,7 @@
    ++	      9
    ++	      10
    ++	     -11
    ++	    -+B
    ++	    ++BB
    ++	      12
    ++	      13
    ++	      14
     +	4:  a63e992 ! 4:  d966c5c s/12/B/
     +	     a => b | 0
     +	     1 file changed, 0 insertions(+), 0 deletions(-)
    ++	$four_spaces
    ++	    @@ -8,7 +8,7 @@
    ++	     @@
    ++	      9
    ++	      10
    ++	    - B
    ++	    + BB
    ++	     -12
    ++	     +B
    ++	      13
     +	EOF
     +	test_cmp expected actual
     +'
-:  ---------- > 3:  edfef733c7 range-diff: make diff option behavior (e.g. --stat) consistent
Ævar Arnfjörð Bjarmason (3):
  range-diff doc: add a section about output stability
  range-diff: fix regression in passing along diff options
  range-diff: make diff option behavior (e.g. --stat) consistent
 Documentation/git-range-diff.txt | 17 +++++++++++++++++
 range-diff.c                     |  3 ++-
 t/t3206-range-diff.sh            | 31 +++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 1 deletion(-)
-- 
2.19.1.1182.g4ecb1133ce
Previous: Ævar Arnfjörð BjarmasonNext: Johannes Schindelin
Message 20 of 40 in “range-diff: add a --no-patch option to show a summary”
  1. range-diff: add a --no-patch option to show a summaryÆvar Arnfjörð Bjarmason, Nov 5, 2018
  2. Eric SunshineNov 5, 2018
  3. Ævar Arnfjörð BjarmasonNov 5, 2018
  4. Johannes SchindelinNov 6, 2018
  5. Ævar Arnfjörð BjarmasonNov 6, 2018
  6. Johannes SchindelinNov 7, 2018
  7. Johannes SchindelinNov 7, 2018
  8. Johannes SchindelinNov 7, 2018
  9. Johannes SchindelinNov 7, 2018
  10. 0/2 range-diff: doc + regression fixÆvar Arnfjörð Bjarmason, Nov 7, 2018
  11. 1/2 range-diff doc: add a section about output stabilityÆvar Arnfjörð Bjarmason, Nov 7, 2018
  12. Stephen & Linda SmithNov 7, 2018
  13. Junio C HamanoNov 7, 2018
  14. Martin ÅgrenNov 7, 2018
  15. 2/2 range-diff: fix regression in passing along diff optionsÆvar Arnfjörð Bjarmason, Nov 7, 2018
  16. Eric SunshineNov 8, 2018
  17. Ævar Arnfjörð BjarmasonNov 8, 2018
  18. Eric SunshineNov 9, 2018
  19. Ævar Arnfjörð BjarmasonNov 9, 2018
  20. 0/3 range-diff fixesÆvar Arnfjörð Bjarmason, Nov 9, 2018
  21. Johannes SchindelinNov 9, 2018
  22. 1/3 range-diff doc: add a section about output stabilityÆvar Arnfjörð Bjarmason, Nov 9, 2018
  23. 2/3 range-diff: fix regression in passing along diff optionsÆvar Arnfjörð Bjarmason, Nov 9, 2018
  24. 3/3 range-diff: make diff option behavior (e.g. --stat) consistentÆvar Arnfjörð Bjarmason, Nov 9, 2018
  25. Stephen & Linda SmithNov 9, 2018
  26. Eric SunshineNov 11, 2018
  27. Junio C HamanoNov 12, 2018
  28. Junio C HamanoNov 12, 2018
  29. 0/3 range-diff fixesÆvar Arnfjörð Bjarmason, Nov 13, 2018
  30. Johannes SchindelinNov 14, 2018
  31. 1/3 range-diff doc: add a section about output stabilityÆvar Arnfjörð Bjarmason, Nov 13, 2018
  32. 2/3 range-diff: fix regression in passing along diff optionsÆvar Arnfjörð Bjarmason, Nov 13, 2018
  33. 3/3 range-diff: make diff option behavior (e.g. --stat) consistentÆvar Arnfjörð Bjarmason, Nov 13, 2018
  34. Junio C HamanoNov 6, 2018
  35. Eric SunshineNov 6, 2018
  36. Junio C HamanoNov 6, 2018
  37. Ævar Arnfjörð BjarmasonNov 6, 2018
  38. range-diff: add a --no-patch option to show a summaryÆvar Arnfjörð Bjarmason, Nov 6, 2018
  39. Junio C HamanoNov 7, 2018
  40. Johannes SchindelinNov 7, 2018

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.