In the cross-device (EXDEV) case, svn_io_file_move() does a copy, not a
move, on trunk:
[[[
svn_error_t *
svn_io_file_move(const char *from_path, const char *to_path,
apr_pool_t *pool)
{
svn_error_t *err = svn_error_trace(svn_io_file_rename2(from_path,
to_path,
FALSE, pool));
if (err && APR_STATUS_IS_EXDEV(err->apr_err))
{
svn_error_clear(err);
/* svn_io_copy_file() performs atomic copy via temporary file. */
err = svn_error_trace(svn_io_copy_file(from_path, to_path, TRUE,
pool));
}
return err;
}
]]]
Looks like the "remove" part was accidentally lost in r1685793 (June
2015, after 1.9 was branched).
Anyone want to investigate further and fix?
- Julian