svn commit: r360125 - in head/usr.bin/diff: . tests

Jan Beich jbeich at FreeBSD.org
Tue Apr 28 12:55:48 UTC 2020


Gary Jennejohn <gljennjohn at gmail.com> writes:

> On Tue, 28 Apr 2020 07:25:18 -0500
> Kyle Evans <kevans at freebsd.org> wrote:
>
>> On Tue, Apr 28, 2020 at 6:52 AM Jan Beich <jbeich at freebsd.org> wrote:
>> >
>> > Kyle Evans <kevans at FreeBSD.org> writes:
>> >  
>> > > Author: kevans
>> > > Date: Mon Apr 20 16:14:44 2020
>> > > New Revision: 360125
>> > > URL: https://svnweb.freebsd.org/changeset/base/360125
>> > >
>> > > Log:
>> > >   diff(1): reject conflicting formatting options
>> > >
>> > >   This matches GNU diff(1) behavior and, more importantly, eliminates any
>> > >   source of confusion if multiple formatting options are specified.
>> > >
>> > >   Note that the committed diff differs slightly from the submitted: I've
>> > >   modified it so that we initialize diff_format to something that isn't an
>> > >   accepted format option so that we can also reject --normal -c and -c
>> > >   --normal, which would've otherwise been accepted because the default was
>> > >   --normal. After option parsing we default it to D_NORMAL if it's still
>> > >   unset.
>> > >
>> > >   PR:         243975
>> > >   Submitted by:       fehmi noyan isi
>> > >   MFC after:  1 week  
>> >
>> > Appears to break ability to specify number of context lines e.g.,
>> >
>> > $ diff -U999 /usr/include/sha256.h /usr/include/sha512.h
>> > error: conflicting output format options.
>> > usage: diff [-aBbdilpTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case]
>> > [...]  
>> 
>> Hmm, bizarre. =-\ This example works on my machine, and I don't see
>> off-hand what would be preventing it for you:
>> 
>> root at viper:/usr/src/usr.bin/diff# diff -U999 /usr/include/sha256.h
>> /usr/include/sha512.h
>> --- /usr/include/sha256.h       2020-04-22 21:38:54.000000000 -0500
>> +++ /usr/include/sha512.h       2020-04-22 21:38:54.000000000 -0500
>> @@ -1,99 +1,99 @@
>>  /*-
>>   * Copyright 2005 Colin Percival
>>   * All rights reserved.
>>   *
>> [... omitted ...]
>> 
>> root at viper:/usr/src/usr.bin/diff# strings /usr/bin/diff | grep 'conflicting'
>> error: conflicting output format options.
>> 
>
> My /usr/bin/diff was built and installed on April 26, after this
> commit, and I don't see the error either.

Thanks for confirming. Looks like my "diff" was aliased to "diff -up".
Indeed, -u and -U are no longer compatible unlike GNU diff.


More information about the svn-src-head mailing list