
On Sep 12, 2009, at 11:22 , Trent W. Buck wrote:
Jason Dagit
writes: which ensures that when the operating system is not WIN32, that renaming of files will be performed by the OS shell.
I'm also puzzled as to why this works -- surely mv(1) assumes POSIX semantics, too? I would be interested in seeing the exact error transcript, preferably as an issue on bugs.d.n. I'm not sure the problem has been diagnosed correctly.
In order to handle the case where you're moving across filesystems, mv(1) gracefully degrades to cp + rm. rename(2) does not. This also happens to work around compatibility issues with native CIFS (and possibly older HP/UX, not that anyone likely cares).
Yes, and in the meantime we can implement something like this in workaround.hs.
I definitely think this SHOULD NOT be enabled by default, unless you're going to ONLY enable it in the specific scenario of CIFS on Linux.
I definitely think you've made incorrect assumptions; the proposed workaround is reasonable even if not ideal. (I would fall back to the mv(1) method only if rename(2) fails.) -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH