mirror of
https://github.com/git/git.git
synced 2024-12-18 06:14:59 +08: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;
|
struct strbuf indent = STRBUF_INIT;
|
||||||
|
|
||||||
memcpy(&opts, diffopt, sizeof(opts));
|
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.suppress_diff_headers = 1;
|
||||||
opts.flags.dual_color_diffed_diffs = dual_color;
|
opts.flags.dual_color_diffed_diffs = dual_color;
|
||||||
opts.output_prefix = output_prefix_cb;
|
opts.output_prefix = output_prefix_cb;
|
||||||
|
@ -122,6 +122,59 @@ test_expect_success 'changed commit' '
|
|||||||
test_cmp expected actual
|
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' '
|
test_expect_success 'changed message' '
|
||||||
git range-diff --no-color topic...changed-message >actual &&
|
git range-diff --no-color topic...changed-message >actual &&
|
||||||
sed s/Z/\ /g >expected <<-EOF &&
|
sed s/Z/\ /g >expected <<-EOF &&
|
||||||
|
Loading…
Reference in New Issue
Block a user