This is the mail archive of the
mailing list for the Cygwin project.
Re: strange mv behavior: mv <mydir> <mydir>
- From: Igor Pechtchanski <pechtcha at cs dot nyu dot edu>
- To: "linda w (cyg)" <cygwin at tlinx dot org>
- Cc: cygwin at cygwin dot com
- Date: Wed, 12 Feb 2003 09:26:23 -0500 (EST)
- Subject: Re: strange mv behavior: mv <mydir> <mydir>
- Reply-to: cygwin at cygwin dot com
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'.
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.
|\ _,,,---,,_ email@example.com
ZZZzz /,`.-'`' -. ;-;;,_ firstname.lastname@example.org
|,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!
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html