Paul Eggert <[EMAIL PROTECTED]> wrote:
>> From: Jim Meyering <[EMAIL PROTECTED]>
>> Date: Sun, 05 Aug 2001 12:34:09 +0200
>>
>> With the proposed change:
>>
>> $ touch a b;echo n|./mv -i a b; echo $?; echo
>> ./mv: overwrite `b', overriding mode 0444? 0
>
> That sounds like a good change,
Thanks.
> but doesn't the same issue arise even
> without the -i option? For example, here is my reading of how 'mv'
Yes. Vin Shelton reported that a week or so ago and
looking at the releated code is what prompted my question.
> should behave without -i:
>
> $ rm -f a b; touch a b; chmod 0 a b; mv a b; echo $?
> mv: b: override protection 0 (yes/no)? n
> 0
>
> and yet GNU mv mishandles this: it renames a to b without asking the
> user any questions.
I have a fix for that.
>> This is the ambiguous part of the POSIX spec:
>>
>> EXIT STATUS
>> The following exit values shall be returned:
>> 0 All input files were moved successfully.
>> >0 An error occurred.
>>
>> The exit status seems to be over-specified, because with -i and a
>> negative response, there is neither an error, nor have all files been moved.
>
> My reading is that the POSIX spec (1003.1-200x d7) tries to
> distinguish between the "source files" (the files specified on the
> command line) and the "input files" (the files that are actually
Ahh... that makes more sense.
Thanks for clarifying.
> attempted to be moved, after -i and/or permissions checking is done).
> If my reading is correct, the exit status is not over-specified
> because all "input files" must be moved successfully for exit status
> 0; also, the traditional mv behavior conforms but GNU mv does not
> conform yet. However, I agree that the standard could be worded more
> clearly.
_______________________________________________
Bug-fileutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-fileutils