subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philip Martin <>
Subject Re: svn commit: r1682265 - /subversion/trunk/subversion/libsvn_fs_fs/util.c
Date Thu, 28 May 2015 17:11:48 GMT
Ivan Zhakov <> 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*

View raw message