On Wed, Dec 04, 2013 at 06:38:05PM -0000, phi...@apache.org wrote: > Author: philip > Date: Wed Dec 4 18:38:04 2013 > New Revision: 1547873 > > URL: http://svn.apache.org/r1547873 > Log: > Another part of issue 3437, rep-cache.db created with wrong permissions. > > * subversion/libsvn_subr/sqlite.c > (svn_sqlite__hotcopy): Create file before calling into SQLite. > > Modified: > subversion/trunk/subversion/libsvn_subr/sqlite.c > > Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1547873&r1=1547872&r2=1547873&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_subr/sqlite.c (original) > +++ subversion/trunk/subversion/libsvn_subr/sqlite.c Wed Dec 4 18:38:04 2013 > @@ -1314,6 +1314,12 @@ svn_sqlite__hotcopy(const char *src_path > svn_sqlite__db_t *dst_db; > sqlite3_backup *backup; > int rc1, rc2; > + svn_node_kind_t kind; > + > + /* Create empty file first to avoid SQLITE_DEFAULT_FILE_PERMISSIONS. */ > + SVN_ERR(svn_io_check_path(dst_path, &kind, scratch_pool)); > + if (kind == svn_node_none) > + SVN_ERR(svn_io_file_create_empty(dst_path, scratch_pool)); > > SVN_ERR(svn_sqlite__open(&dst_db, dst_path, svn_sqlite__mode_rwcreate, > NULL, 0, NULL, scratch_pool, scratch_pool)); >
Shouldn't this be using svn_io_copy_perms() instead, so that permissions used by the hotcopy source are replicated?