Subject: Re: [PATCH v2] diff --shortstat --dirstat: remove duplicate output

From: Mårten Kongstad <[email-masked]>
Date: Sun, 1 Mar 2015 16:58:18 +0100

On Sun, Mar 01, 2015 at 11:25:53AM +0100, Torsten Bögershausen wrote:
> On 2015-03-01 08.39, Mårten Kongstad wrote:
> []
> > +test_expect_success '--shortstat --dirstat should output only one dirstat' '
> > +	git diff --shortstat --dirstat=changes HEAD^..HEAD >actual_diff_shortstat_dirstat_changes &&
> > +	test $(grep -c " dst/copy/changed/$" actual_diff_shortstat_dirstat_changes) = 1 &&
> How portable is the "grep -c" usage ?
> (I don't now it either, do we have other opinions ?), but the following seems to be more "Git-style":
> 
> test_expect_success '--shortstat --dirstat should output only one dirstat' '
> 	git diff --shortstat --dirstat=changes HEAD^..HEAD >actual_diff_shortstat_dirstat_changes &&
> 	grep " dst/copy/changed/$" actual_diff_shortstat_dirstat_changes >actual &&
> 	test_line_count = 1 actual
> 
From what I can see, both 'grep -c' and 'grep >file && test_line_count'
are used in the tests.

'grep -c' is used in these tests:
- t3404-rebase-interactive.sh
- t3507-cherry-pick-conflict.sh
- t4036-format-patch-signer-mime.sh
- t4150-am.sh
- t7810-grep.sh
- t8003-blame-corner-cases.sh
- t9350-fast-export.sh

'grep >file && test_line_count' is used in this test:
- t9400-git-cvsserver-server.sh

And to make matters more confusing, both 'grep -c' and 'grep >file &&
test_line_count' is used in this test:
- t9001-send-email.sh

Granted I didn't miss anything while trawling the tests for the above
numbers, it feels like the 'grep -c' option is more in line with the
existing tests. That said, I don't know if there is an ongoing trend to
deprecate 'grep -c' in favour of 'test_line_count'.