I wrote:
> John Rouillard <rouilj@renesys.com> writes:
>> I get the same result (0 exit status) on solaris 8 and solaris 10 with
>> /bin/cp. I wonder what platform the example worked on.
> cp does behave as the example suggests for me, on OS X and HPUX. I
> suspect Bruce tested it on some BSD variant before putting it in the
> docs. That would suggest that it probably works that way on most (all?)
> BSDen. Still, if the GNU version doesn't act that way, we have a
> problem.
> The test-and-cp approach seems the most likely to be portable.
I've applied patches for this. It turns out that before 9.0, we did
have a warning that cp -i wasn't very trustworthy:
It is advisable to test your proposed archive command to ensure that it
indeed does not overwrite an existing file, <emphasis>and that it returns
nonzero status in this case</>. We have found that <literal>cp -i</> does
this correctly on some platforms but not others. If the chosen command
but somebody "improved" that text in a way that made it sound like you
could expect the command to work most places. On the whole it seems
like a better idea to provide a sample command that is safe most
everywhere, and then mention cp -i as a nonportable simplification.
regards, tom lane