* subversion/include/private/svn_utf_private.h (svn_utf__glob): as above * subversion/include/svn_fs.h (svn_fs_refresh_revision_props): as above * subversion/libsvn_fs_fs/fs.h (): as above * subversion/libsvn_fs_fs/pack.c (tweak_path_for_ordering): as above * subversion/libsvn_fs_fs/temp_serializer.h (): as above * subversion/libsvn_fs_x/pack.c (): as above * subversion/libsvn_subr/prefix_string.c (): as above * subversion/libsvn_wc/wc_db.h (svn_wc__db_wclock_find_root): as above * subversion/svn/conflict-callbacks.c (find_option_by_id): as above * tools/dev/fsfs-access-map.c (): as above
Sync FSX with FSFS: Replicate the "--no-flush-to-disk" support, effectively merging revisions r1736357, r1737355 and r1737356 from FSFS.
While the API glue logic could be re-used, the fsync code in FSX is mainly based on svn_fs_x__batch_fsync_t object. So, all we have to do is to add a flag to its constructor and update a few callers.
* subversion/libsvn_fs_x (svn:mergeinfo): Mark revisions as "merged".
* subversion/libsvn_fs_x/batch_fsync.h (svn_fs_x__batch_fsync_create): Add new FLUSH_TO_DISK option.
* subversion/libsvn_fs_x/batch_fsync.c (svn_fs_x__batch_fsync_t): Add new option field. (svn_fs_x__batch_fsync_create): Set new option field. (svn_fs_x__batch_fsync_run): Call fsync if required by the option field.
* subversion/libsvn_fs_x/fs.c (initialize_fs_struct): Initialize the new field.
* subversion/libsvn_fs_x/fs_x.c (svn_fs_x__write_format): fsync only if requested. (read_global_config): New function - had been removed as empty previously but now reads the new global option. (svn_fs_x__open, svn_fs_x__create_file_tree): Invoke the new function. (svn_fs_x__set_uuid): fsync only if requested.
* subversion/libsvn_fs_x/pack.c (pack_shard): Set the new fsync batch option.