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

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

From
SZEDER Gábor <szeder@ira.uka.de>
Date
Mar 2, 2015, 01:00 UTC
Message-ID
<20150302020009.Horde.9sATpKnsrWQkGadaRTvxkA3@webmail.informatik.kit.edu>
In-Reply-To
<20150301155818.GA5307@laptop>
Hi,
Quoting Mårten Kongstad <marten.kongstad@gmail.com>:
Show 19 quoted lines
> 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
>>
> 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'.
It's not just 'grep -c' but the 'test' checking its output as well.

If something goes wrong and the line count doesn't match expectations 'test' fails silently leaving the developer clueless as to what went wrong.

'test_line_count', on the other hand, produces useful output in case of a failure:

    $ printf 'foo\nbar\n' >actual
    $ test_line_count = 1 actual
    test_line_count: line count for actual != 1
    foo
    bar

Since the name of the file in question is included in the output and since there are three separate checks in this test, I would also suggest writing 'grep's output into separate files 'actual_{changes,lines,files}'.

Gábor
Previous: Mårten KongstadNext: Mårten Kongstad
Message 10 of 13 in “diff --shortstat --dirstat: remove duplicate output”
  1. diff --shortstat --dirstat: remove duplicate outputMårten Kongstad, Feb 28, 2015
  2. Johan HerlandFeb 28, 2015
  3. Junio C HamanoMar 1, 2015
  4. diff --shortstat --dirstat: remove duplicate outputMårten Kongstad, Mar 1, 2015
  5. Torsten BögershausenMar 1, 2015
  6. Michael J GruberMar 1, 2015
  7. Mårten KongstadMar 1, 2015
  8. Michael J GruberMar 1, 2015
  9. Mårten KongstadMar 1, 2015
  10. SZEDER GáborMar 2, 2015
  11. diff --shortstat --dirstat: remove duplicate outputMårten Kongstad, Mar 2, 2015
  12. Junio C HamanoMar 5, 2015
  13. Jeff KingMar 4, 2015

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.