hotcopy.h revision 362181
1/* hotcopy.h : interface to the hot-copying functionality
2 *
3 * ====================================================================
4 *    Licensed to the Apache Software Foundation (ASF) under one
5 *    or more contributor license agreements.  See the NOTICE file
6 *    distributed with this work for additional information
7 *    regarding copyright ownership.  The ASF licenses this file
8 *    to you under the Apache License, Version 2.0 (the
9 *    "License"); you may not use this file except in compliance
10 *    with the License.  You may obtain a copy of the License at
11 *
12 *      http://www.apache.org/licenses/LICENSE-2.0
13 *
14 *    Unless required by applicable law or agreed to in writing,
15 *    software distributed under the License is distributed on an
16 *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 *    KIND, either express or implied.  See the License for the
18 *    specific language governing permissions and limitations
19 *    under the License.
20 * ====================================================================
21 */
22
23#ifndef SVN_LIBSVN_FS_X_HOTCOPY_H
24#define SVN_LIBSVN_FS_X_HOTCOPY_H
25
26#include "fs.h"
27
28/* Copy the fsfs filesystem SRC_FS at SRC_PATH into a new copy DST_FS at
29 * DST_PATH.  If INCREMENTAL is TRUE, do not re-copy data which already
30 * exists in DST_FS.  Indicate progress via the optional NOTIFY_FUNC
31 * callback using NOTIFY_BATON.  Use COMMON_POOL for process-wide and
32 * SCRATCH_POOL for temporary allocations.  Use COMMON_POOL_LOCK to ensure
33 * that the initialization of the shared data is serialized. */
34svn_error_t *
35svn_fs_x__hotcopy(svn_fs_t *src_fs,
36                  svn_fs_t *dst_fs,
37                  const char *src_path,
38                  const char *dst_path,
39                  svn_boolean_t incremental,
40                  svn_fs_hotcopy_notify_t notify_func,
41                  void *notify_baton,
42                  svn_cancel_func_t cancel_func,
43                  void *cancel_baton,
44                  svn_mutex__t *common_pool_lock,
45                  apr_pool_t *scratch_pool,
46                  apr_pool_t *common_pool);
47
48#endif
49