Re: [PATCH v2] format-patch: respect --stat in cover letter's diffstat

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/10/18 06:46, Nguyễn Thái Ngọc Duy wrote:
> Commit 43662b23ab (format-patch: keep cover-letter diffstat wrapped in
> 72 columns - 2018-01-24) uncondtionally sets stat width to 72 when
> generating diffstat for the cover letter, ignoring --stat from command
> line. But it should only do so when stat width is still default
> (i.e. stat_width == 0).
> 
> In order to fix this, we should only set stat_width if stat_width is
> zero. But it will never be. Commit 071dd0ba43 (format-patch: reduce
> patch diffstat width to 72 - 2018-02-01) makes sure that default stat
> width will be 72 (ignoring $COLUMNS, but could still be overriden by
> --stat). So all we need to do here is drop the assignment.
> 
> Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx>
> Helped-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx>
> ---
>  builtin/log.c          |  2 --
>  t/t4052-stat-output.sh | 48 +++++++++++++++++++++++++++++-------------
>  2 files changed, 33 insertions(+), 17 deletions(-)

* This submission should have been posted as v3, not v2. V2 was posted at

https://public-inbox.org/git/20181107164953.24965-1-pclouds@xxxxxxxxx/

* Comparing the patch emails, the only difference is that this version
renames "expect.40" to "expect.60". This should have been mentioned in a
cover letter, or in the Notes section of the current submission.

* In my response to the (original) v2 posting, at

https://public-inbox.org/git/f0f95dd0-1a9e-01d0-70f4-3c6d5450df70@xxxxxxxxxx/

I stated that I didn't try to run the test suite, and gave my T-b (under
the circumstances described there). Given that the change in v3 (= this
submission) is limited to the test case, I think my T-b should have been
carried forward.

Thanks
Laszlo



> diff --git a/builtin/log.c b/builtin/log.c
> index 061d4fd864..1a39c6e52a 100644
> --- a/builtin/log.c
> +++ b/builtin/log.c
> @@ -1009,8 +1009,6 @@ static void show_diffstat(struct rev_info *rev,
>  
>  	memcpy(&opts, &rev->diffopt, sizeof(opts));
>  	opts.output_format = DIFF_FORMAT_SUMMARY | DIFF_FORMAT_DIFFSTAT;
> -	opts.stat_width = MAIL_DEFAULT_WRAP;
> -
>  	diff_setup_done(&opts);
>  
>  	diff_tree_oid(get_commit_tree_oid(origin),
> diff --git a/t/t4052-stat-output.sh b/t/t4052-stat-output.sh
> index 6e2cf933f7..28c053849a 100755
> --- a/t/t4052-stat-output.sh
> +++ b/t/t4052-stat-output.sh
> @@ -44,42 +44,50 @@ show --stat
>  log -1 --stat
>  EOF
>  
> -while read cmd args
> +cat >expect.60 <<-'EOF'
> + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> +EOF
> +cat >expect.6030 <<-'EOF'
> + ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> +EOF
> +cat >expect2.60 <<-'EOF'
> + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> +EOF
> +cat >expect2.6030 <<-'EOF'
> + ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> + ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> +EOF
> +while read expect cmd args
>  do
> -	cat >expect <<-'EOF'
> -	 ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> -	EOF
>  	test_expect_success "$cmd --stat=width: a long name is given more room when the bar is short" '
>  		git $cmd $args --stat=40 >output &&
>  		grep " | " output >actual &&
> -		test_cmp expect actual
> +		test_cmp $expect.60 actual
>  	'
>  
>  	test_expect_success "$cmd --stat-width=width with long name" '
>  		git $cmd $args --stat-width=40 >output &&
>  		grep " | " output >actual &&
> -		test_cmp expect actual
> +		test_cmp $expect.60 actual
>  	'
>  
> -	cat >expect <<-'EOF'
> -	 ...aaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 +
> -	EOF
>  	test_expect_success "$cmd --stat=...,name-width with long name" '
>  		git $cmd $args --stat=60,30 >output &&
>  		grep " | " output >actual &&
> -		test_cmp expect actual
> +		test_cmp $expect.6030 actual
>  	'
>  
>  	test_expect_success "$cmd --stat-name-width with long name" '
>  		git $cmd $args --stat-name-width=30 >output &&
>  		grep " | " output >actual &&
> -		test_cmp expect actual
> +		test_cmp $expect.6030 actual
>  	'
>  done <<\EOF
> -format-patch -1 --stdout
> -diff HEAD^ HEAD --stat
> -show --stat
> -log -1 --stat
> +expect2 format-patch --cover-letter -1 --stdout
> +expect diff HEAD^ HEAD --stat
> +expect show --stat
> +expect log -1 --stat
>  EOF
>  
>  
> @@ -95,6 +103,16 @@ test_expect_success 'preparation for big change tests' '
>  	git commit -m message abcd
>  '
>  
> +cat >expect72 <<'EOF'
> + abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> + abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +EOF
> +test_expect_success "format-patch --cover-letter ignores COLUMNS (big change)" '
> +	COLUMNS=200 git format-patch -1 --stdout --cover-letter >output &&
> +	grep " | " output >actual &&
> +	test_cmp expect72 actual
> +'
> +
>  cat >expect72 <<'EOF'
>   abcd | 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  EOF
> 




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux