This is the mail archive of the mailing list for the Cygwin project. See the Cygwin home page for more information.
Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: B20: mv deletes files on error (NT)

"Larry Hall (RFK Partners, Inc)" wrote:
> Well, let's flip the question.  Why is it not adequate to modify "ln" to
> handle the issue of hard links?  This is not without precedent since it had
> to be done at one time for file systems that don't support hard links (like
> FAT).
> Whether or not foo and Foo are the same file, I see no reason why one can't
> rename it in a case-sensitive manner.  I can in the Explorer.  I can using
> DOS commands (like MOVE).  Why shouldn't I be able to keep doing this in
> Cygwin?  Why does the change to support hard links necessitate a change in
> Cygwin where support for "mv" does not?  Mind you, I'm not arguing that
> the support for hard links is bad but merely that the change made to support
> them may not be the best approach to getting them!  Is there anyone who can
> clarify that point?  The rest is just opinion, which while great for
> discussion, usually wears thin after a time.

Sorry, but I don't understand your intention.

- cygwin has supported hard links earlier already.
- `ln' supported hard links earlier, too.
- The change, I made, didn't invent hard link support, but the ability,
  to recognize them. It uses the type of i-node number, which is generated
  by windows itself. Moreover the filename hashing method was never correctly
  implemented, because it was case sensitive, which did never reflect the
  file system behaviour.
- Shouldn't be the behaviour of mv corrected, instead of working incorrect
  in an inner part of the system? Wouldn't this be a more future oriented
  BTW: `mv' did never work correctly on files which ends up in `.exe'. Try:
	mv foo foo.exe    <-- this works
	mv foo.exe foo    <-- this not:
	`mv: `ln.exe' and `ln' are the same file'
- As mentioned by Earnie: Changing `mv' is really simple (a type of a one liner).

- In the meantime, try `mv foo bar; mv bar Foo'. ;)


Want to unsubscribe from this list?
Send a message to