Re: [PATCH v3 5/5] tests: fix and add lint for non-portable grep --file
On 8/23/2018 4:44 PM, Junio C Hamano wrote:
Show 12 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>
>> The --file option to grep isn't in POSIX[1], but -f is[1]. Let's check
>> for that in the future, and fix the portability regression in
>> f237c8b6fe ("commit-graph: implement git-commit-graph write",
>> 2018-04-02) that broke e.g. AIX.
>>
>> 1. http://pubs.opengroup.org/onlinepubs/009695399/utilities/grep.html
>>
>> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
>> ---
> Thanks.Yes, thanks! I'll keep this in mind for the future.
Show 29 quoted lines
>> t/check-non-portable-shell.pl | 1 +
>> t/t5318-commit-graph.sh | 2 +-
>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/t/check-non-portable-shell.pl b/t/check-non-portable-shell.pl
>> index 75f38298d7..b45bdac688 100755
>> --- a/t/check-non-portable-shell.pl
>> +++ b/t/check-non-portable-shell.pl
>> @@ -43,6 +43,7 @@ sub err {
>> /\bwc -l.*"\s*=/ and err '`"$(wc -l)"` is not portable (use test_line_count)';
>> /\bhead\s+-c\b/ and err 'head -c is not portable (use test_copy_bytes BYTES <file >out)';
>> /(?:\$\(seq|^\s*seq\b)/ and err 'seq is not portable (use test_seq)';
>> + /\bgrep\b.*--file\b/ and err 'grep --file FILE is not portable (use grep -f FILE)';
>> /\bexport\s+[A-Za-z0-9_]*=/ and err '"export FOO=bar" is not portable (use FOO=bar && export FOO)';
>> /^\s*([A-Z0-9_]+=(\w+|(["']).*?\3)\s+)+(\w+)/ and exists($func{$4}) and
>> err '"FOO=bar shell_func" assignment extends beyond "shell_func"';
>> diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh
>> index 3c1ffad491..0c500f7ca2 100755
>> --- a/t/t5318-commit-graph.sh
>> +++ b/t/t5318-commit-graph.sh
>> @@ -134,7 +134,7 @@ test_expect_success 'Add one more commit' '
>> git branch commits/8 &&
>> ls $objdir/pack | grep idx >existing-idx &&
>> git repack &&
>> - ls $objdir/pack| grep idx | grep -v --file=existing-idx >new-idx
>> + ls $objdir/pack| grep idx | grep -v -f existing-idx >new-idx
>> '
>>
>> # Current graph structure: