mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
range-diff: fix regression in passing along diff options
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 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
to be stable. So this regression test will likely need to be tweaked
once we get a "proper" --stat option.
See
https://public-inbox.org/git/nycvar.QRO.7.76.6.1811071202480.39@tvgsbejvaqbjf.bet/
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
change.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
df569c3f31
commit
4624185a67
|
@ -433,7 +433,7 @@ int show_range_diff(const char *range1, const char *range2,
|
|||
struct strbuf indent = STRBUF_INIT;
|
||||
|
||||
memcpy(&opts, diffopt, sizeof(opts));
|
||||
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;
|
||||
|
|
|
@ -122,6 +122,59 @@ test_expect_success 'changed commit' '
|
|||
test_cmp expected actual
|
||||
'
|
||||
|
||||
test_expect_success 'changed commit with --no-patch diff option' '
|
||||
git range-diff --no-color --no-patch topic...changed >actual &&
|
||||
cat >expected <<-EOF &&
|
||||
1: 4de457d = 1: a4b3333 s/5/A/
|
||||
2: fccce22 = 2: f51d370 s/4/A/
|
||||
3: 147e64e ! 3: 0559556 s/11/B/
|
||||
4: a63e992 ! 4: d966c5c s/12/B/
|
||||
EOF
|
||||
test_cmp expected actual
|
||||
'
|
||||
|
||||
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
|
||||
'
|
||||
|
||||
test_expect_success 'changed message' '
|
||||
git range-diff --no-color topic...changed-message >actual &&
|
||||
sed s/Z/\ /g >expected <<-EOF &&
|
||||
|
|
Loading…
Reference in a new issue