Re: svn commit: r1136114 - /subversion/trunk/configure.ac

2011-06-15 Thread Daniel Shahaf
Stefan Sperling wrote on Wed, Jun 15, 2011 at 19:54:48 +0200:
> On Wed, Jun 15, 2011 at 06:28:28PM +0100, Philip Martin wrote:
> > Stefan Sperling  writes:
> > >> Is cmp as portable as diff?  Is it always available with the same
> > >> behaviour?  autoconf generates calls to diff, so we know that using diff
> > >> will work anywhere that autoconf works.  As far as I can tell autoconf
> > >> doesn't use cmp.
> > >
> > >>From the cmp man page:
> > >
> > > HISTORY
> > >  "A cmp command appeared in Version 1 AT&T UNIX."
> > >
> > > I would say that's ancient enough to be supported anywhere :)
> > 
> > Do they all support -s?
> 
> Very likely. The -s option was present in Unix 7th Edition:
> http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cmp.c
> It was likely also in 4.4BSD or earlier. NetBSD had the option in 1995.

And Peter observed on IRC that even cmp's that don't support -s will
still DTRT.  (eg, if they error out, the non-zero exit code would
signify a no-op file replace)


Re: svn commit: r1136114 - /subversion/trunk/configure.ac

2011-06-15 Thread Stefan Sperling
On Wed, Jun 15, 2011 at 06:28:28PM +0100, Philip Martin wrote:
> Stefan Sperling  writes:
> >> Is cmp as portable as diff?  Is it always available with the same
> >> behaviour?  autoconf generates calls to diff, so we know that using diff
> >> will work anywhere that autoconf works.  As far as I can tell autoconf
> >> doesn't use cmp.
> >
> >>From the cmp man page:
> >
> > HISTORY
> >  "A cmp command appeared in Version 1 AT&T UNIX."
> >
> > I would say that's ancient enough to be supported anywhere :)
> 
> Do they all support -s?

Very likely. The -s option was present in Unix 7th Edition:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/cmp.c
It was likely also in 4.4BSD or earlier. NetBSD had the option in 1995.


Re: svn commit: r1136114 - /subversion/trunk/configure.ac

2011-06-15 Thread Greg Hudson
On Wed, 2011-06-15 at 13:28 -0400, Philip Martin wrote:
> Do they all support -s?

cmp -s is one of the most portable Unix command invocations in existence
(from general knowledge; I can't give a reference).




Re: svn commit: r1136114 - /subversion/trunk/configure.ac

2011-06-15 Thread Philip Martin
Stefan Sperling  writes:

> On Wed, Jun 15, 2011 at 06:11:31PM +0100, Philip Martin wrote:
>> pet...@apache.org writes:
>> 
>> > Author: peters
>> > Date: Wed Jun 15 16:43:24 2011
>> > New Revision: 1136114
>> >
>> > URL: http://svn.apache.org/viewvc?rev=1136114&view=rev
>> > Log:
>> > * configure.ac: Followup r1134219: Use 'cmp -s' instead of 'diff' to
>> >detect changes to svn_private_config.h.  Take advantage of the fact
>> >that cmp -s produces no output even if a file does not exist.
>> >Use a temp variable to shorten the lines further.
>> 
>> Is cmp as portable as diff?  Is it always available with the same
>> behaviour?  autoconf generates calls to diff, so we know that using diff
>> will work anywhere that autoconf works.  As far as I can tell autoconf
>> doesn't use cmp.
>
>>From the cmp man page:
>
> HISTORY
>  "A cmp command appeared in Version 1 AT&T UNIX."
>
> I would say that's ancient enough to be supported anywhere :)

Do they all support -s?

> Oh, and it also conforms to POSIX.

configure is supposed to work on anything that is "good enough".  I
don't understand why we would choose to use cmp here, when diff is used
in the rest of the script.

-- 
Philip


Re: svn commit: r1136114 - /subversion/trunk/configure.ac

2011-06-15 Thread Stefan Sperling
On Wed, Jun 15, 2011 at 06:11:31PM +0100, Philip Martin wrote:
> pet...@apache.org writes:
> 
> > Author: peters
> > Date: Wed Jun 15 16:43:24 2011
> > New Revision: 1136114
> >
> > URL: http://svn.apache.org/viewvc?rev=1136114&view=rev
> > Log:
> > * configure.ac: Followup r1134219: Use 'cmp -s' instead of 'diff' to
> >detect changes to svn_private_config.h.  Take advantage of the fact
> >that cmp -s produces no output even if a file does not exist.
> >Use a temp variable to shorten the lines further.
> 
> Is cmp as portable as diff?  Is it always available with the same
> behaviour?  autoconf generates calls to diff, so we know that using diff
> will work anywhere that autoconf works.  As far as I can tell autoconf
> doesn't use cmp.

>From the cmp man page:

HISTORY
 "A cmp command appeared in Version 1 AT&T UNIX."

I would say that's ancient enough to be supported anywhere :)

Oh, and it also conforms to POSIX.


Re: svn commit: r1136114 - /subversion/trunk/configure.ac

2011-06-15 Thread Philip Martin
pet...@apache.org writes:

> Author: peters
> Date: Wed Jun 15 16:43:24 2011
> New Revision: 1136114
>
> URL: http://svn.apache.org/viewvc?rev=1136114&view=rev
> Log:
> * configure.ac: Followup r1134219: Use 'cmp -s' instead of 'diff' to
>detect changes to svn_private_config.h.  Take advantage of the fact
>that cmp -s produces no output even if a file does not exist.
>Use a temp variable to shorten the lines further.

Is cmp as portable as diff?  Is it always available with the same
behaviour?  autoconf generates calls to diff, so we know that using diff
will work anywhere that autoconf works.  As far as I can tell autoconf
doesn't use cmp.

-- 
Philip