Date: Tue, 21 Nov 1995 14:10:09 +1100 From: Bruce Evans <bde@zeta.org.au> To: freebsd-bugs@FreeBSD.ORG, tege@matematik.su.se Subject: Re: Bogus mv behaviour Message-ID: <199511210310.OAA26445@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>When moving directories across filesystems, e.g., "mv SOURCEDIR/A DESTDIR", >if DESTDIR/A exists, SOURCEDIR/A will be made into DESTDIR/A/A. That's very >surprising, in particular when many directories are moved in the same >command, and they end up at different levels. This bug affects all mv's, not just ones across file systems. I hope it only affects the top level, so you can recover fairly easily. This behaviour is almost documented for mv's across file systems :-). The effect is supposed to be equivalent to rm -f DESTDIR && \ cp -pRP SOURCEDIR/A DESTDIR && \ rm -rf SOURCEDIR cp will change DESTDIR to DESTDIR/A and do the wrong thing if DESTDIR/A already exists. However, the rm -f can't work for directories and apparently isn't done. mv across file systems is so fundamentally broken that I think it shouldn't be available. cp -pRP has several bugs (it snaps links and doesn't preserve all possible file times) and there is no way the mv can be atomic. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511210310.OAA26445>