This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: strange mv behavior: mv <mydir> <mydir>

On Tue, 11 Feb 2003, linda w (cyg) wrote:

> I stumbled onto this trying to rename a dir from
> "Mydir" to "mydir" (w/o capital "M")
> > mv Mydir mydir
>         starts copying "Mydir" into Mydir/mydir.
> But it's not just the 'caps' that are the issue since:
> > mv mydir mydir
>         will start copying mydir into itself
>         On lnx, I get:
> mv: cannot move `mydir' to a subdirectory of itself, `mydir/mydir'
> Shouldn't I get a similar error on Windows?
>         Note to do the original, desired mv, I can use:
> > mv Mydir foo; mv foo mydir
>         Which (unfortunately), would be correct windows behavior since
> you can't rename a file or dir to a different name that varies only
> in capitalization (ignore case "feature").
> The problem is 'mv' isn't recognizing that source and target are
> the same name (even when case matches), so it is behaving like 'cp'.
> linda


Note that 'mv' and 'cp' share code (copy.c) that does the actual
move/copy.  That file does have the message you refer to above,
conditional on errno==EINVAL after rename().  Apparently, Cygwin's (or,
rather, newlib's) rename doesn't have that behavior.  That's where I'd
start tracking it down.
      |\      _,,,---,,_
ZZZzz /,`.-'`'    -.  ;-;;,_
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
  -- /usr/games/fortune

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]