Hi,
I've been using subversion with a working copy crossing mount point
without problem until 1.7.x, (this was perfect to manage unix
configuration files instead of using RCS)
Would it be possible to go back to the same behavior as the previous
versions, where performing a commit (I'm using svn:keywords) doesn't
generate a cross device link error.
By performing for example a copy/remove if the rename fails with an
EXDEV error.
Something in svn_io_file_rename like that
status = apr_file_rename(from_path_apr, to_path_apr, pool);
if (APR_STATUS_IS_EXDEV(status)) {
(status = apr_file_copy(from_path_apr, to_path_apr,
APR_FILE_SOURCE_PERMS, pool)) &&
(status = apr_file_remove(from_path_apr, pool));
}
This was a dirty hack to fix my problem, but i'm sure special cases must
be added to take care of atomicity and to handle directory.
Perhaps a better way to handle this is to create the temporary file in
the same directory as the file that it must replace.
Sincerely