Ivan Zhakov <i...@visualsvn.com> writes: > 1. Make svn_io_file_name() consistently return error for cross volume > renames by fixing APR or using platform specific code. > 2. For all platforms handle APR_STATUS_IS_EXDEV() like this: copy file > to temporary file in the same folder as destination and then rename > it. > > I'm ready to implement it if nobody object.
We do most (all?) of that. svn_io_file_rename() calls apr_file_rename() and on Unix that calls rename() which can fail with EXDEV. When that happens svn_io_file_rename() fails. svn_io_file_move() catches EXDEV and copies the file to a temporary in the destination directory and then calls apr_file_rename(). -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*