diff(1) -N behaviour - Bug 233402

Fehmi Noyan ISI fnoyanisi at yahoo.com
Sat May 23 11:38:45 UTC 2020



> On 23/05/2020, at 11:21 PM, Yuri Pankov <ypankov at fastmail.com> wrote:
> 
> Fehmi Noyan ISI via freebsd-hackers wrote:
>> Hiya
>> Apparently, after we switched from GNU diff to BSD diff, the -N flag no longer assumes absent files as empty.
>> There is a bug report about GNU diff compatibility but when I look at diff(1) man page, I see that not treating absent files as empty is intentional rather than a missing functionality.
>> If this is not the case, I can work on patch to match to GNU diff behaviour, otherwise, this bug report can be closed I think.
>> What’s your take on this?
>> -N --new-file
>>     If a file is found in only one directory, act as if it was found
>>     in the other directory too but was of zero size.
>> man for GNU diff
>> -N, --new-file
>>     treat absent files as empty
> 
> I think both descriptions say the same, i.e. "zero size" == "empty”?

Maybe it’s my interpretation, but if you do not supply the second argument to diff(1), it complains
$ echo “test” > a.txt
$ diff -N a.txt nofile
diff: nofile: No such file or directory
$

GNU diff assumes an empty file for the missing second file and makes the comparison
$ echo “test” > a.txt
$ diff -N a.txt nofile
1d0
< test
$ 




More information about the freebsd-hackers mailing list